GNU/Linux |
RedHat 6.2(Zoot) |
|
![]() |
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: | ||||
INTERNAL function: actual C name of function | ||||
C function: currently, this field is unused | ||||
SQL function: text of query(s) | ||||
PL function: text in procedural language */ | ||||
/* path to object file (C functions 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) | ![]() |