GNU/Linux |
RedHat 5.2(Apollo) |
|
![]() |
catalogs(3) |
![]() |
In this section we list each of the attributes of the system catalogs and define their meanings.
These catalogs form the core of the extensibility system:
|
name |
shared/local |
description | |
|
pg_aggregate |
local |
aggregate functions | |
|
pg_am |
local |
access methods | |
|
pg_amop |
local |
operators usable with specific access methods | |
|
pg_amproc |
local |
procedures used with specific access methods | |
|
pg_attribute |
local |
class attributes | |
|
pg_class |
local |
classes | |
|
pg_index |
local |
secondary indices | |
|
pg_inherits |
local |
class inheritance hierarchy | |
|
pg_language |
local |
procedure implementation languages | |
|
pg_opclass |
local |
operator classes | |
|
pg_operator |
local |
query language operators | |
|
pg_proc |
local |
procedures (functions) | |
|
pg_type |
local |
data types |
These catalogs deal with identification of entities known throughout the site:
|
name |
shared/local |
description | |
|
pg_database |
shared |
current databases | |
|
pg_group |
shared |
user groups | |
|
pg_shadow |
shared |
valid users |
|
name |
shared/local |
description | |
|
pg_listener |
local |
processes waiting on alerters | |
|
pg_prs2plans |
local |
instance system procedures | |
|
pg_prs2rule |
local |
instance system rules | |
|
pg_prs2stub |
local |
instance system ’’stubs’’ | |
|
pg_rewrite |
local |
rewrite system information |
These catalogs are specific to the Inversion file system and large objects in general:
|
name |
shared/local |
description | |
|
pg_lobj |
local |
description of a large object | |
|
pg_naming |
local |
Inversion name space mapping | |
|
pg_platter |
local |
jukebox platter inventory | |
|
pg_plmap |
local |
jukebox platter extent map |
These catalogs are internal classes that are not stored as normal heaps and cannot be accessed through normal means (attempting to do so causes an error).
|
name |
shared/local |
description | |
|
pg_log |
shared |
transaction commit/rollback log | |
|
pg_magic |
shared |
magic constant | |
|
pg_time |
shared |
commit/rollback times | |
|
pg_variable |
shared |
special variable values |
There are several other classes defined with “pg_” names. Aside from those that end in “ind” (secondary indices), these are all obsolete or otherwise deprecated.
The following
catalogs relate to the class/type system.
/*
* aggregates
*
* see DEFINE AGGREGATE for an explanation of transition
functions
*/
pg_aggregate
|
/* aggregate name (e.g., "count") */ | ||||
|
/* usesysid of creator */ | ||||
|
/* first transition function */ | ||||
|
/* second transition function */ | ||||
|
/* final function */ | ||||
|
/* type of data on which aggregate | ||||
|
operates */ | ||||
|
/* type returned by aggtransfn1 */ | ||||
|
/* type returned by aggtransfn2 */ | ||||
|
/* type returned by aggfinalfn */ | ||||
|
/* external format of initial | ||||
|
(starting) value of aggtransfn1 */ | ||||
|
/* external format of initial | ||||
|
(starting) value of aggtransfn2 */ |
pg_am
|
/* access method name */ | ||||
|
/* usesysid of creator */ | ||||
|
/* - deprecated */ | ||||
|
/* originally: | ||||
|
h=hashed | ||||
|
o=ordered | ||||
|
s=special */ | ||||
|
/* total NUMBER of strategies by which | ||||
|
we can traverse/search this AM */ | ||||
|
/* total NUMBER of support functions | ||||
|
that this AM uses */ | ||||
|
/* "next valid tuple" function */ | ||||
|
/* "insert this tuple" function */ | ||||
|
/* "delete this tuple" function */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* "start new scan" function */ | ||||
|
/* "restart this scan" function */ | ||||
|
/* "end this scan" function */ | ||||
|
/* "mark current scan position" | ||||
|
function */ | ||||
|
/* "restore marked scan position" | ||||
|
function */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* "build new index" function */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ |
pg_amop
|
/* access method with which this | ||||
|
operator be used */ | ||||
|
/* operator class with which this | ||||
|
operator can be used */ | ||||
|
/* the operator */ | ||||
|
/* traversal/search strategy number | ||||
|
to which this operator applies */ | ||||
|
/* function to calculate the operator | ||||
|
selectivity */ | ||||
|
/* function to calculate the number of | ||||
|
pages that will be examined */ |
pg_amproc
|
/* access method with which this | ||||
|
procedure is associated */ | ||||
|
/* operator class with which this | ||||
|
operator can be used */ | ||||
|
/* the procedure */ | ||||
|
/* support function number to which | ||||
|
this operator applies */ |
pg_class
|
/* class name */ | ||||
|
/* usesysid of owner */ | ||||
|
/* access method */ | ||||
|
/* # of 8KB pages */ | ||||
|
/* # of instances */ | ||||
|
/* time after which instances are | ||||
|
deleted from non-archival storage */ | ||||
|
/* timespan after which instances are | ||||
|
deleted from non-archival storage */ | ||||
|
/* does the class have a secondary | ||||
|
index? */ | ||||
|
/* is the class shared or local? */ | ||||
|
/* type of relation: | ||||
|
i=index | ||||
|
r=relation (heap) | ||||
|
s=special | ||||
|
u=uncatalogued (temporary) */ | ||||
|
/* archive mode: | ||||
|
h=heavy | ||||
|
l=light | ||||
|
n=none */ | ||||
|
/* current # of non-system | ||||
|
attributes */ | ||||
|
/* storage manager: | ||||
|
0=magnetic disk | ||||
|
1=sony WORM jukebox | ||||
|
2=main memory */ | ||||
|
/* - unused */ | ||||
|
/* - unused */ | ||||
|
/* access control lists */ |
pg_attribute
|
/* class containing this attribute */ | ||||
|
/* attribute name */ | ||||
|
/* attribute type */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* attribute length, in bytes | ||||
|
-1=variable */ | ||||
|
/* attribute number | ||||
|
>0=user attribute | ||||
|
<0=system attribute */ | ||||
|
/* - deprecated */ | ||||
|
/* type passed by value? */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* # of array dimensions */ | ||||
|
/* cached offset into tuple */ | ||||
|
/* is attribute set-valued? */ |
pg_inherits
|
/* child class */ | ||||
|
/* parent class */ | ||||
|
/* - deprecated */ | ||||
|
/* oid of secondary index class */ | ||||
|
/* oid of indexed heap class */ | ||||
|
/* function to compute index key from | ||||
|
attribute(s) in heap | ||||
|
0=not a functional index */ | ||||
|
/* attribute numbers of key | ||||
|
attribute(s) */ | ||||
|
/* opclass of each key */ | ||||
|
/* is the index clustered? | ||||
|
- unused */ | ||||
|
/* is the index archival? | ||||
|
- unused */ | ||||
|
/* query plan for partial index | ||||
|
predicate */ |
pg_type
|
/* type name */ | ||||
|
/* usesysid of owner */ | ||||
|
/* length in internal form | ||||
|
-1=variable-length */ | ||||
|
/* length in external form */ | ||||
|
/* type passed by value? */ | ||||
|
/* kind of type: | ||||
|
c=catalog (composite) | ||||
|
b=base */ | ||||
|
/* defined or still a shell? */ | ||||
|
/* delimiter for array external form */ | ||||
|
/* class (if composite) */ | ||||
|
/* type of each array element */ | ||||
|
/* external-internal conversion | ||||
|
function */ | ||||
|
/* internal-external conversion | ||||
|
function */ | ||||
|
/* client-server conversion function */ | ||||
|
/* server-client conversion function */ | ||||
|
/* default value */ |
pg_operator
|
/* operator name */ | ||||
|
/* usesysid of owner */ | ||||
|
/* - deprecated */ | ||||
|
/* kind of operator: | ||||
|
b=binary | ||||
|
l=left unary | ||||
|
r=right unary */ | ||||
|
/* is operator left/right associative? */ | ||||
|
/* is operator usable for hashjoin? */ | ||||
|
/* left operand type */ | ||||
|
/* right operand type */ | ||||
|
/* result type */ | ||||
|
/* commutator operator */ | ||||
|
/* negator operator */ | ||||
|
/* sort operator for left operand */ | ||||
|
/* sort operator for right operand */ | ||||
|
/* function implementing this operator */ | ||||
|
/* function to calculate operator | ||||
|
restriction selectivity */ | ||||
|
/* function to calculate operator | ||||
|
join selectivity */ |
pg_opclass
|
/* operator class name */ |
pg_proc
|
/* function name */ | ||||
|
/* usesysid of owner */ | ||||
|
/* function implementation language */ | ||||
|
/* - deprecated */ | ||||
|
/* run in server or untrusted function | ||||
|
process? */ | ||||
|
/* can the function return values be | ||||
|
cached? */ | ||||
|
/* # of arguments */ | ||||
|
/* does the function return a set? | ||||
|
- unused */ | ||||
|
/* return type */ | ||||
|
/* argument types */ | ||||
|
/* % of argument size (in bytes) that | ||||
|
needs to be examined in order to | ||||
|
compute the function */ | ||||
|
/* sensitivity of the function’s | ||||
|
running time to the size of its | ||||
|
inputs */ | ||||
|
/* overhead of the function’s | ||||
|
invocation (regardless of input | ||||
|
size) */ | ||||
|
/* size of the function’s output as a | ||||
|
percentage of the size of the input */ | ||||
|
/* function definition (postquel only) */ | ||||
|
/* path to object file (C only) */ |
pg_language
|
/* language name */ | |||
|
/* - deprecated */ |
pg_database
|
/* database name */ | ||||
|
/* usesysid of database administrator */ | ||||
|
/* directory of database under | ||||
|
$PGDATA */ |
pg_group
|
/* group name */ | |||
|
/* group’s UNIX group id */ | |||
|
/* list of usesysids of group members */ |
pg_shadow
|
/* user’s name */ | |||
|
/* user’s UNIX user id */ | |||
|
/* can user create databases? */ | |||
|
/* can user set trace flags? */ | |||
|
/* can user be POSTGRES superuser? */ | |||
|
/* can user update catalogs? */ |
pg_listener
|
/* class for which asynchronous | ||||
|
notification is desired */ | ||||
|
/* process id of server corresponding | ||||
|
to a frontend program waiting for | ||||
|
asynchronous notification */ | ||||
|
/* whether an event notification for | ||||
|
this process id still pending */ |
pg_prs2rule
|
/* rule name */ | ||||
|
/* rule event type: | ||||
|
R=retrieve | ||||
|
U=update (replace) | ||||
|
A=append | ||||
|
D=delete */ | ||||
|
/* class to which event applies */ | ||||
|
/* attribute to which event applies */ | ||||
|
/* - deprecated */ | ||||
|
/* - deprecated */ | ||||
|
/* text of original rule definition */ |
pg_prs2plans
|
/* prs2rule instance for which this | ||||
|
plan is used */ | ||||
|
/* plan number (one rule may invoke | ||||
|
multiple plans) */ | ||||
|
/* external representation of the plan */ |
pg_prs2stub
|
/* class to which this rule applies */ | |||
|
/* is this the last stub fragment? */ | |||
|
/* stub fragment number */ | |||
|
/* stub fragment */ |
pg_rewrite
|
/* rule name */ | ||||
|
/* event type: | ||||
|
RETRIEVE, REPLACE, APPEND, DELETE | ||||
|
codes are parser-dependent (!?) */ | ||||
|
/* class to which this rule applies */ | ||||
|
/* attribute to which this rule applies */ | ||||
|
/* is this an "instead" rule? */ | ||||
|
/* qualification with which to modify | ||||
|
(rewrite) the plan that triggered this | ||||
|
rule */ | ||||
|
/* parse tree of action */ |
pg_lobj
|
/* ’ourid’ from pg_naming that | ||||
|
identifies this object in the | ||||
|
Inversion file system namespace */ | ||||
|
/* storage type code: | ||||
|
0=Inversion | ||||
|
1=Unix | ||||
|
2=External | ||||
|
3=Jaquith */ |
bytea object_descripto/* opaque
object-handle structure */
pg_naming
|
/* filename component */ | ||||
|
/* random oid used to identify this | ||||
|
instance in other instances (can’t | ||||
|
use the actual oid for obscure | ||||
|
reasons */ | ||||
|
/* pg_naming instance of parent | ||||
|
Inversion file system directory */ |
pg_platter
|
/* platter name */ | |||
|
/* the highest OCCUPIED extent */ |
pg_plmap
|
/* platter (in pg_platter) on which | ||||
|
this extent (of blocks) resides */ | ||||
|
/* database of the class to which this | ||||
|
extent (of blocks) belongs */ | ||||
|
/* class to which this extend (of | ||||
|
blocks) belongs */ | ||||
|
/* starting block number within the | ||||
|
class */ | ||||
|
/* offset within the platter at which | ||||
|
this extent begins */ | ||||
|
/* length of this extent */ |
![]() |
catalogs(3) | ![]() |