|
- classid
+ classid
oid
- pg_class.oid
- The oid of the system catalog the dependent object is in
+ pg_class.oid
+ The OID of the system catalog the dependent object is in
|
- objid
+ objid
oid
- any oid attribute
- The oid of the specific dependent object
+ any OID column
+ The OID of the specific dependent object
|
- objsubid
+ objsubid
int4
- For a table attribute, this is the attribute's
- column number (the objid and classid refer to the table itself).
- For all other object types, this field is presently zero.
+
+ For a table column, this is the column number (the
+ objid> and classid> refer to the
+ table itself). For all other object types, this column is
+ zero.
|
- refclassid
+ refclassid
oid
- pg_class.oid
- The oid of the system catalog the referenced object is in
+ pg_class.oid
+ The OID of the system catalog the referenced object is in
|
- refobjid
+ refobjid
oid
any oid attribute
- The oid of the specific referenced object
+ The OID of the specific referenced object
|
- refobjsubid
+ refobjsubid
int4
- For a table attribute, this is the attribute's
- column number (the refobjid and refclassid refer to the table itself).
- For all other object types, this field is presently zero.
+
+ For a table column, this is the column number (the
+ refobjid> and refclassid> refer
+ to the table itself). For all other object types, this column
+ is zero.
|
- deptype
+ deptype
char
- A code defining the specific semantics of this dependency relationship.
+ A code defining the specific semantics of this dependency relationship; see text.
object. However, there are several subflavors identified by
deptype>:
-
-
- DEPENDENCY_NORMAL ('n'): normal relationship between separately-created
- objects. The dependent object may be dropped without affecting the
- referenced object. The referenced object may only be dropped by
- specifying CASCADE, in which case the dependent object is dropped too.
- Example: a table column has a normal dependency on its datatype.
-
-
-
-
- DEPENDENCY_AUTO ('a'): the dependent object can be dropped separately
- from the referenced object, and should be automatically dropped
- (regardless of RESTRICT or CASCADE mode) if the referenced object
- is dropped.
- Example: a named constraint on a table is made auto-dependent on
- the table, so that it will go away if the table is dropped.
-
-
-
-
- DEPENDENCY_INTERNAL ('i'): the dependent object was created as part
- of creation of the referenced object, and is really just a part of
- its internal implementation. A DROP of the dependent object will be
- disallowed outright (we'll tell the user to issue a DROP against the
- referenced object, instead). A DROP of the referenced object will be
- propagated through to drop the dependent object whether CASCADE is
- specified or not.
- Example: a trigger that's created to enforce a foreign-key constraint
- is made internally dependent on the constraint's pg_constraint entry.
-
-
-
-
- DEPENDENCY_PIN ('p'): there is no dependent object; this type of entry
- is a signal that the system itself depends on the referenced object,
- and so that object must never be deleted. Entries of this type are
- created only during initdb. The fields for the dependent object
- contain zeroes.
-
-
-
+
+
+ DEPENDENCY_NORMAL> (n>)
+
+ A normal relationship between separately-created objects. The
+ dependent object may be dropped without affecting the
+ referenced object. The referenced object may only be dropped
+ by specifying CASCADE>, in which case the dependent
+ object is dropped, too. Example: a table column has a normal
+ dependency on its data type.
+
+
+
+
+
+ DEPENDENCY_AUTO> (a>)
+
+ The dependent object can be dropped separately from the
+ referenced object, and should be automatically dropped
+ (regardless of RESTRICT> or CASCADE>
+ mode) if the referenced object is dropped. Example: a named
+ constraint on a table is made autodependent on the table, so
+ that it will go away if the table is dropped.
+
+
+
+
+
+ DEPENDENCY_INTERNAL> (i>)
+
+ The dependent object was created as part of creation of the
+ referenced object, and is really just a part of its internal
+ implementation. A DROP> of the dependent object
+ will be disallowed outright (we'll tell the user to issue a
+ DROP> against the referenced object, instead). A
+ DROP> of the referenced object will be propagated
+ through to drop the dependent object whether
+ CASCADE> is specified or not. Example: a trigger
+ that's created to enforce a foreign-key constraint is made
+ internally dependent on the constraint's
+ pg_constraint> entry.
+
+
+
+
+
+ DEPENDENCY_PIN> (p>)
+
+ There is no dependent object; this type of entry is a signal
+ that the system itself depends on the referenced object, and so
+ that object must never be deleted. Entries of this type are
+ created only by initdb. The columns for the
+ dependent object contain zeroes.
+
+
+
+
Other dependency flavors may be needed in future.
-
pg_description
+
pg_description
+
+
+
- The pg_description table can store an optional description or
+ The catalog pg_description> can store an optional description or
comment for each database object. Descriptions can be manipulated
with the COMMENT command and viewed with
Descriptions of many built-in system objects are provided in the initial
- contents of pg_description.
+ contents of pg_description.
-
pg_description Columns
+
pg_description> Columns
|
- objoid
+ objoid
oid
- any oid attribute
- The oid of the object this description pertains to
+ any OID column
+ The OID of the object this description pertains to
|
- classoid
+ classoid
oid
- pg_class.oid
- The oid of the system catalog this object appears in
+ pg_class.oid
+ The OID of the system catalog this object appears in
|
- objsubid
+ objsubid
int4
- For a comment on a table attribute, this is the attribute's
- column number (the objoid and classoid refer to the table itself).
- For all other object types, this field is presently zero.
+
+ For a comment on a table column, this is the column number (the
+ objoid> and classoid> refer to
+ the table itself). For all other object types, this column is
+ zero.
|
- description
+ description
text
Arbitrary text that serves as the description of this object.
-
pg_group
+
pg_group
+
+
+
- This catalog defines groups and stores what users belong to what
+ The catalog pg_group defines groups and stores what users belong to what
groups. Groups are created with the CREATE
GROUP command. Consult for information
- about user permission management.
+ about user privilege management.
-
pg_group Columns
+
pg_group> Columns
|
- groname
+ groname
name
Name of the group
|
- grosysid
+ grosysid
int4
An arbitrary number to identify this group
|
- grolist
+ grolist
int4[]
- pg_shadow.usesysid
- An array containing the ids of the users in this group
+ pg_shadow.usesysid
+ An array containing the IDs of the users in this group
-
pg_index
+
pg_index
+
+
+
- pg_index contains part of the information
+ The catalog pg_index contains part of the information
about indexes. The rest is mostly in
pg_class.
-
pg_index Columns
+
pg_index> Columns
|
- indexrelid
+ indexrelid
oid
- pg_class.oid
- The OID of the pg_class entry for this index
+ pg_class.oid
+ The OID of the pg_class> entry for this index
|
- indrelid
+ indrelid
oid
- pg_class.oid
- The OID of the pg_class entry for the table this index is for
+ pg_class.oid
+ The OID of the pg_class> entry for the table this index is for
|
- indproc
+ indproc
regproc
- pg_proc.oid
+ pg_proc.oid
The function's OID if this is a functional index,
else zero
|
- indkey
+ indkey
int2vector
pg_attribute.attnum
- This is a vector (array) of up to
+ This is an array of up to
INDEX_MAX_KEYS values that indicate which
table columns this index pertains to. For example a value of
1 3 would mean that the first and the third
|
- indclass
+ indclass
oidvector
pg_opclass.oid
For each column in the index key this contains a reference to
- the operator class
to use. See
+ the operator class to use. See
pg_opclass for details.
|
- indisclustered
+ indisclustered
bool
If true, the table was last clustered on this index.
|
- indisunique
+ indisunique
bool
If true, this is a unique index.
|
- indisprimary
+ indisprimary
bool
If true, this index represents the primary key of the table.
- (indisunique should always be true when this is true.)
+ (indisunique> should always be true when this is true.)
|
- indreference
+ indreference
oid
unused
|
- indpred
+ indpred
text
- Expression tree (in the form of a nodeToString representation)
+ Expression tree (in the form of a nodeToString() representation)
for partial index predicate. Empty string if not a partial
index.
-
pg_inherits
+
pg_inherits
+
+
+
- This catalog records information about table inheritance hierarchies.
+ The catalog pg_inherits> records information about
+ table inheritance hierarchies.
-
pg_inherits Columns
+
pg_inherits> Columns
|
- inhrelid
+ inhrelid
oid
- pg_class.oid
+ pg_class.oid
The OID of the child table.
|
- inhparent
+ inhparent
oid
- pg_class.oid
+ pg_class.oid
The OID of the parent table.
|
- inhseqno
+ inhseqno
int4
-
pg_language
+
pg_language
+
+
+
- pg_language registers call interfaces or
+ The catalog pg_language registers call interfaces or
languages in which you can write functions or stored procedures.
See under CREATE LANGUAGE and in
- server-programming"> for more information about language handlers.
+ xplang"> for more information about language handlers.
-
pg_language Columns
+
pg_language> Columns
|
- lanname
+ lanname
name
Name of the language (to be specified when creating a function)
|
- lanispl
+ lanispl
bool
|
- lanpltrusted
+ lanpltrusted
bool
This is a trusted language. See under CREATE
LANGUAGE what this means. If this is an internal
language (lanispl is false) then
- this field is meaningless.
+ this column is meaningless.
|
- lanplcallfoid
+ lanplcallfoid
oid
- pg_proc.oid
+ pg_proc.oid
- For non-internal languages this references the language
+ For noninternal languages this references the language
handler, which is a special function that is responsible for
executing all functions that are written in the particular
language.
|
- lanvalidator
+ lanvalidator
oid
- pg_proc.oid
+ pg_proc.oid
This references a language validator function that is responsible
for checking the syntax and validity of new functions when they
|
- lanacl
+ lanacl
aclitem[]
- Access permissions
+ Access privileges
-
pg_largeobject
+
pg_largeobject
+
+
+
- pg_largeobject holds the data making up
+ The catalog pg_largeobject holds the data making up
large objects
. A large object is identified by an
OID assigned when it is created. Each large object is broken into
segments or pages> small enough to be conveniently stored as rows
in pg_largeobject.
- The amount of data per page is defined to be LOBLKSIZE (which is currently
- BLCKSZ/4, or typically 2Kbytes).
+ The amount of data per page is defined to be LOBLKSIZE> (which is currently
+ BLCKSZ/4>, or typically 2 kB).
-
pg_largeobject Columns
+
pg_largeobject> Columns
|
- loid
+ loid
oid
Identifier of the large object that includes this page
|
- pageno
+ pageno
int4
Page number of this page within its large object
|
- data
+ data
bytea
Actual data stored in the large object.
- This will never be more than LOBLKSIZE bytes, and may be less.
+ This will never be more than LOBLKSIZE> bytes and may be less.
Each row of pg_largeobject holds data
for one page of a large object, beginning at
- byte offset (pageno * LOBLKSIZE) within the object. The implementation
+ byte offset (pageno * LOBLKSIZE>) within the object. The implementation
allows sparse storage: pages may be missing, and may be shorter than
- LOBLKSIZE bytes even if they are not the last page of the object.
+ LOBLKSIZE> bytes even if they are not the last page of the object.
Missing regions within a large object read as zeroes.
-
pg_listener
+
pg_listener
+
+
+
- pg_listener supports the LISTEN>
+ The catalog pg_listener supports the LISTEN>
and NOTIFY> commands. A listener creates an entry in
pg_listener for each notification name
it is listening for. A notifier scans pg_listener
-
pg_listener Columns
+
pg_listener> Columns
|
- relname
+ relname
name
Notify condition name. (The name need not match any actual
- relation in the database; the term >relname> is historical.)
+ relation in the database; the name >relname> is historical.)
|
- listenerpid
+ listenerpid
int4
- PID of the backend process that created this entry.
+ PID of the server process that created this entry.
|
- notification
+ notification
int4
Zero if no event is pending for this listener. If an event is
- pending, the PID of the backend that sent the notification.
+ pending, the PID of the server process that sent the notification.
-
pg_namespace
+
pg_namespace
+
+
+
- A namespace is the structure underlying SQL92 schemas: each namespace
- can have a separate collection of relations, types, etc without name
+ The catalog pg_namespace> stores namespaces.
+ A namespace is the structure underlying SQL schemas: each namespace
+ can have a separate collection of relations, types, etc. without name
conflicts.
-
pg_namespace Columns
+
pg_namespace> Columns
|
- nspname
+ nspname
name
Name of the namespace
|
- nspowner
+ nspowner
int4
- pg_shadow.usesysid
- Owner (creator) of the namespace
+ pg_shadow.usesysid
+ Owner of the namespace
|
- nspacl
+ nspacl
aclitem[]
- Access permissions
+ Access privileges
-
pg_opclass
+
pg_opclass
+
+
+
- pg_opclass defines
+ The catalog pg_opclass defines
index access method operator classes. Each operator class defines
- semantics for index columns of a particular datatype and a particular
+ semantics for index columns of a particular data type and a particular
index access method. Note that there can be multiple operator classes
- for a given datatype/access method combination, thus supporting multiple
+ for a given data type/access method combination, thus supporting multiple
behaviors.
- Operator classes are described at length in server-programming">.
+ Operator classes are described at length in xindex">.
-
pg_opclass Columns
+
pg_opclass> Columns
|
- opcamid
+ opcamid
oid
- pg_am.oid
- index access method opclass is for
+ pg_am.oid
+ Index access method opclass is for
|
- opcname
+ opcname
name
- name of this opclass
+ Name of this operator class
|
- opcnamespace
+ opcnamespace
oid
- pg_namespace.oid
- namespace of this opclass
+ pg_namespace.oid
+ Namespace of this operator class
|
- opcowner
+ opcowner
int4
- pg_shadow.usesysid
- opclass owner
+ pg_shadow.usesysid
+ Operator class owner
|
- opcintype
+ opcintype
oid
- pg_type.oid
- type of input data for opclass
+ pg_type.oid
+ Input data type of the operator class
|
- opcdefault
+ opcdefault
bool
- true if opclass is default for opcintype
+ True if this operator class is the default for opcintype>
|
- opckeytype
+ opckeytype
oid
- pg_type.oid
- type of index data, or zero if same as opcintype
+ pg_type.oid
+ Type of index data, or zero if same as opcintype>
pg_amproc. Those rows are considered to be
part of the operator class definition --- this is not unlike the way
that a relation is defined by a single pg_class
- row, plus associated rows in pg_attribute and
+ row plus associated rows in pg_attribute and
other tables.
-
pg_operator
+
pg_operator
+
+
+
- See CREATE OPERATOR and
- for details on these operator parameters.
+ The catalog pg_operator> stores information about operators. See
+ CREATE OPERATOR and for
+ details on these operator parameters.
-
pg_operator Columns
+
pg_operator> Columns
|
- oprname
+ oprname
name
Name of the operator
|
- oprnamespace
+ oprnamespace
oid
- pg_namespace.oid
+ pg_namespace.oid
The OID of the namespace that contains this operator
|
- oprowner
+ oprowner
int4
- pg_shadow.usesysid
- Owner (creator) of the operator
+ pg_shadow.usesysid
+ Owner of the operator
|
- oprkind
+ oprkind
char
- 'b' = infix (both
), 'l' = prefix
- (left
), 'r' = postfix (right
)
+ b> = infix (both
), l> = prefix
+ (left
), r> = postfix (right
)
|
- oprcanhash
+ oprcanhash
bool
This operator supports hash joins.
|
- oprleft
+ oprleft
oid
- pg_type.oid
+ pg_type.oid
Type of the left operand
|
- oprright
+ oprright
oid
- pg_type.oid
+ pg_type.oid
Type of the right operand
|
- oprresult
+ oprresult
oid
- pg_type.oid
+ pg_type.oid
Type of the result
|
- oprcom
+ oprcom
oid
- pg_operator.oid
+ pg_operator.oid
Commutator of this operator, if any
|
- oprnegate
+ oprnegate
oid
- pg_operator.oid
+ pg_operator.oid
Negator of this operator, if any
|
- oprlsortop
+ oprlsortop
oid
- pg_operator.oid
+ pg_operator.oid
If this operator supports merge joins, the operator that sorts
the type of the left-hand operand (L<L>)
|
- oprrsortop
+ oprrsortop
oid
- pg_operator.oid
+ pg_operator.oid
If this operator supports merge joins, the operator that sorts
the type of the right-hand operand (R<R>)
|
- oprltcmpop
+ oprltcmpop
oid
- pg_operator.oid
+ pg_operator.oid
If this operator supports merge joins, the less-than operator that
compares the left and right operand types (L<R>)
|
- oprgtcmpop
+ oprgtcmpop
oid
- pg_operator.oid
+ pg_operator.oid
If this operator supports merge joins, the greater-than operator that
compares the left and right operand types (L>R>)
|
- oprcode
+ oprcode
regproc
- pg_proc.oid
+ pg_proc.oid
Function that implements this operator
|
- oprrest
+ oprrest
regproc
- pg_proc.oid
+ pg_proc.oid
Restriction selectivity estimation function for this operator
|
- oprjoin
+ oprjoin
regproc
- pg_proc.oid
+ pg_proc.oid
Join selectivity estimation function for this operator
- Unused fields contain zeroes, for example oprleft is zero for a
+ Unused column contain zeroes, for example oprleft is zero for a
prefix operator.
-
pg_proc
+
pg_proc
+
+
+
- This catalog stores information about functions (or procedures).
+ The catalog pg_proc> stores information about functions (or procedures).
The description of CREATE FUNCTION and
contain more information about the meaning of
- some fields.
+ some columns.
The table contains data for aggregate functions as well as plain functions.
If proisagg is true, there should be a matching
- row in name>pg_aggregate>.
+ row in field>pg_aggregate>.
-
pg_proc Columns
+
pg_proc> Columns
|
- proname
+ proname
name
Name of the function
|
- pronamespace
+ pronamespace
oid
- pg_namespace.oid
+ pg_namespace.oid
The OID of the namespace that contains this function
|
- proowner
+ proowner
int4
- pg_shadow.usesysid
- Owner (creator) of the function
+ pg_shadow.usesysid
+ Owner of the function
|
- prolang
+ prolang
oid
- pg_language.oid
+ pg_language.oid
Implementation language or call interface of this function
|
- proisagg
+ proisagg
bool
Function is an aggregate function
|
- prosecdef
+ prosecdef
bool
Function is a security definer (i.e., a setuid>
|
- proisstrict
+ proisstrict
bool
|
- proretset
+ proretset
bool
- Function returns a set (ie, multiple values of the specified
+ Function returns a set (i.e., multiple values of the specified
data type)
|
- provolatile
+ provolatile
char
|
- pronargs
+ pronargs
int2
Number of arguments
|
- prorettype
+ prorettype
oid
- pg_type.oid
+ pg_type.oid
Data type of the return value
|
- proargtypes
+ proargtypes
oidvector
- pg_type.oid
- A vector with the data types of the function arguments
+ pg_type.oid
+ An array with the data types of the function arguments
|
- prosrc
+ prosrc
text
|
- probin
+ probin
bytea
Additional information about how to invoke the function.
|
- proacl
+ proacl
aclitem[]
- Access permissions
+ Access privileges
- Currently, prosrc contains the function's C-language name (link symbol)
- for compiled functions, both built-in and dynamically loaded. For all
- other language types, prosrc contains the function's source text.
-
-
- Currently, probin is unused except for dynamically-loaded C functions,
- for which it gives the name of the shared library file containing the
- function.
+ prosrc contains the function's C-language
+ name (link symbol) for compiled functions, both built-in and
+ dynamically loaded. For all other language types,
+ prosrc contains the function's source
+ text. probin is unused except for
+ dynamically-loaded C functions, for which it gives the name of the
+ shared library file containing the function.
-
pg_rewrite
+
pg_rewrite
+
+
+
- This system catalog stores rewrite rules for tables and views.
+ The catalog pg_rewrite stores rewrite rules for tables and views.
-
pg_rewrite Columns
+
pg_rewrite> Columns
|
- rulename
+ rulename
name
Rule name
|
- ev_class
+ ev_class
oid
- pg_class.oid
+ pg_class.oid
The table this rule is for
|
- ev_attr
+ ev_attr
int2
The column this rule is for (currently, always zero to
|
- ev_type
+ ev_type
char
- Event type that the rule is for: '1' = SELECT,
- '2' = UPDATE, '3' = INSERT, '4' = DELETE
+
+ Event type that the rule is for: 1 = SELECT>, 2 =
+ UPDATE>, 3 = INSERT>, 4 =
+ DELETE>
+
|
- is_instead
+ is_instead
bool
- True if the rule is an INSTEAD rule
+ True if the rule is an INSTEAD rule
|
- ev_qual
+ ev_qual
text
- Expression tree (in the form of a nodeToString representation)
- for the rule's qualifying condition
+
+ Expression tree (in the form of a
+ nodeToString() representation) for the
+ rule's qualifying condition
+
|
- ev_action
+ ev_action
text
- Query tree (in the form of a nodeToString representation)
- for the rule's action
+
+ Query tree (in the form of a
+ nodeToString() representation) for the
+ rule's action
+
- <structname>pg_class.relhasrules>
+ <literal>pg_class.relhasrules>
must be true if a table has any rules in this catalog.
-
pg_shadow
+
pg_shadow
+
+
+
- pg_shadow contains information about
+ The catalog pg_shadow contains information about
database users. The name stems from the fact that this table
should not be readable by the public since it contains passwords.
- name>pg_user> is a publicly readable view on
- name>pg_shadow> that blanks out the password field.
+ field>pg_user> is a publicly readable view on
+ field>pg_shadow> that blanks out the password field.
contains detailed information about user and
- permission management.
+ privilege management.
-
pg_shadow Columns
+
pg_shadow> Columns
|
- usename
+ usename
name
User name
|
- usesysid
+ usesysid
int4
User id (arbitrary number used to reference this user)
|
- usecreatedb
+ usecreatedb
bool
User may create databases
|
- usesuper
+ usesuper
bool
User is a superuser
|
- usecatupd
+ usecatupd
bool
User may update system catalogs. (Even a superuser may not do
- this unless this attribute is true.)
+ this unless this column is true.)
|
- passwd
+ passwd
text
Password
|
- valuntil
+ valuntil
abstime
Account expiry time (only used for password authentication)
|
- useconfig
+ useconfig
text[]
Session defaults for run-time configuration variables
-
pg_statistic
+
pg_statistic
+
+
+
- pg_statistic stores statistical data about
+ The catalog pg_statistic stores statistical data about
the contents of the database. Entries are created by
ANALYZE and subsequently used by the query planner.
There is one entry for each table column that has been analyzed.
Since different kinds of statistics may be appropriate for different
kinds of data, pg_statistic is designed not
to assume very much about what sort of statistics it stores. Only
- extremely general statistics (such as NULL-ness) are given dedicated
+ extremely general statistics (such as nullness) are given dedicated
columns in pg_statistic. Everything else
is stored in slots
, which are groups of associated columns whose
content is identified by a code number in one of the slot's columns.
-
pg_statistic Columns
+
pg_statistic> Columns
|
- starelid
+ starelid
oid
- pg_class.oid
+ pg_class.oid
The table that the described column belongs to
|
- staattnum
+ staattnum
int2
- pg_attribute.attnum
+ pg_attribute.attnum
The number of the described column
|
- stanullfrac
+ stanullfrac
float4
- The fraction of the column's entries that are NULL
+ The fraction of the column's entries that are null
|
- stawidth
+ stawidth
int4
- The average stored width, in bytes, of non-NULL entries
+ The average stored width, in bytes, of nonnull entries
|
- stadistinct
+ stadistinct
float4
- The number of distinct non-NULL data values in the column.
+ The number of distinct nonnull data values in the column.
A value greater than zero is the actual number of distinct values.
A value less than zero is the negative of a fraction of the number
of rows in the table (for example, a column in which values appear about
- twice on the average could be represented by stadistinct = -0.5).
+ twice on the average could be represented by stadistinct> = -0.5).
A zero value means the number of distinct values is unknown.
|
- stakindN
+ stakindN>
int2
- A code number indicating the kind of statistics stored in the Nth
- slot
of the pg_statistic row.
+
+ A code number indicating the kind of statistics stored in the
+ N>th slot
of the
+ pg_statistic row.
|
- staopN
+ staopN>
oid
- pg_operator.oid
- An operator used to derive the statistics stored in the
- Nth slot
. For example, a histogram slot would show the <
- operator that defines the sort order of the data.
+ pg_operator.oid
+
+ An operator used to derive the statistics stored in the
+ N>th slot
. For example, a
+ histogram slot would show the < operator
+ that defines the sort order of the data.
|
- stanumbersN
+ stanumbersN>
float4[]
- Numerical statistics of the appropriate kind for the Nth
- slot
, or NULL if the slot kind does not involve numerical values.
+
+ Numerical statistics of the appropriate kind for the
+ N>th slot
, or null if the slot
+ kind does not involve numerical values.
|
- stavaluesN
+ stavaluesN>
anyarray
- Column data values of the appropriate kind for the Nth
- slot
, or NULL if the slot kind does not store any data
- values.
- Each array's element values are actually of the specific column's
- datatype, so there is no way to define these columns' type more
- specifically than anyarray>.
+
+ Column data values of the appropriate kind for the
+ N>th slot
, or null if the slot
+ kind does not store any data values. Each array's element
+ values are actually of the specific column's data type, so there
+ is no way to define these columns' type more specifically than
+ anyarray>.
-
pg_trigger
+
pg_trigger
+
+
+
- This system catalog stores triggers on tables. See under
+ The catalog pg_trigger stores triggers on tables. See under
CREATE TRIGGER for more information.
-
pg_trigger Columns
+
pg_trigger> Columns
|
- tgrelid
+ tgrelid
oid
- pg_class.oid
+ pg_class.oid
The table this trigger is on
|
- tgname
+ tgname
name
Trigger name (must be unique among triggers of same table)
|
- tgfoid
+ tgfoid
oid
- pg_proc.oid
+ pg_proc.oid
The function to be called
|
- tgtype
+ tgtype
int2
Bitmask identifying trigger conditions
|
- tgenabled
+ tgenabled
bool
True if trigger is enabled (not presently checked everywhere
|
- tgisconstraint
+ tgisconstraint
bool
- True if trigger implements an RI constraint
+ True if trigger implements a referential integrity constraint
|
- tgconstrname
+ tgconstrname
name
- RI constraint name
+ Referential integrity constraint name
|
- tgconstrrelid
+ tgconstrrelid
oid
- pg_class.oid
- The table referenced by an RI constraint
+ pg_class.oid
+ The table referenced by an referential integrity constraint
|
- tgdeferrable
+ tgdeferrable
bool
True if deferrable
|
- tginitdeferred
+ tginitdeferred
bool
True if initially deferred
|
- tgnargs
+ tgnargs
int2
Number of argument strings passed to trigger function
|
- tgattr
+ tgattr
int2vector
Currently unused
|
- tgargs
+ tgargs
bytea
Argument strings to pass to trigger, each null-terminated
- <structname>pg_class.reltriggers
- needs to match up with the entries in this table.
+ <literal>pg_class.reltriggers needs to match up with the
+ entries in this table.
-
pg_type
+
pg_type
+
+
+
- This catalog stores information about data types. Scalar types
- (base types>
) are created with CREATE TYPE.
+ The catalog pg_type stores information about data types. Base types
+ (scalar types) are created with CREATE TYPE.
A complex type is automatically created for each table in the database, to
represent the row structure of the table. It is also possible to create
- complex types with CREATE TYPE AS, and
+ complex types with CREATE TYPE AS and
derived types with CREATE DOMAIN.
-
pg_type Columns
+
pg_type> Columns
|
- typname
+ typname
name
Data type name
|
- typnamespace
+ typnamespace
oid
- pg_namespace.oid
+ pg_namespace.oid
The OID of the namespace that contains this type
|
- typowner
+ typowner
int4
- pg_shadow.usesysid
- Owner (creator) of the type
+ pg_shadow.usesysid
+ Owner of the type
|
- typlen
+ typlen
int2
|
- typbyval
+ typbyval
bool
|
- typtype
+ typtype
char
|
- typisdefined
+ typisdefined
bool
- True if the type is defined, false if this is a placeholder
- entry for a not-yet-defined type. When typisdefined is false,
- nothing except the type name, namespace, and OID can be relied on.
+
+ True if the type is defined, false if this is a placeholder
+ entry for a not-yet-defined type. When
+ typisdefined is false, nothing
+ except the type name, namespace, and OID can be relied on.
|
- typdelim
+ typdelim
char
Character that separates two values of this type when parsing
|
- typrelid
+ typrelid
oid
- pg_class.oid
+ pg_class.oid
If this is a complex type (see
- typtype), then this field points to
+ typtype), then this column points to
the pg_class entry that defines the
corresponding table. (For a free-standing composite type, the
pg_class entry doesn't really represent
a table, but it is needed anyway for the type's
pg_attribute entries to link to.)
- Zero for non-complex types.
+ Zero for base types.
|
- typelem
+ typelem
oid
- pg_type.oid
+ pg_type.oid
If typelem is not 0 then it
identifies another row in pg_type.
also have nonzero typelem, for example
name and oidvector.
If a fixed-length type has a typelem then
- its internal representation must be N values of the
+ its internal representation must be some number of values of the
typelem data type with no other data.
Variable-length array types have a header defined by the array
subroutines.
|
- typinput
+ typinput
regproc
- pg_proc.oid
+ pg_proc.oid
Input conversion function
|
- typoutput
+ typoutput
regproc
- pg_proc.oid
+ pg_proc.oid
Output conversion function
|
- typalign
+ typalign
char
Possible values are:
-
'c' = CHAR alignment, i.e., no alignment needed.
+
c> = char alignment, i.e., no alignment needed.
-
's' = SHORT alignment (2 bytes on most machines).
+
s> = short alignment (2 bytes on most machines).
-
'i' = INT alignment (4 bytes on most machines).
+
i> = int alignment (4 bytes on most machines).
-
'd' = DOUBLE alignment (8 bytes on many machines, but by no means all).
+
d> = double alignment (8 bytes on many machines, but by no means all).
For types used in system tables, it is critical that the size
and alignment defined in pg_type
- agree with the way that the compiler will lay out the field in
+ agree with the way that the compiler will lay out the column in
a struct representing a table row.
|
- typstorage
+ typstorage
char
Possible values are
-
'p': Value must always be stored plain.
+
p>: Value must always be stored plain.
- 'e': Value can be stored in a secondary
+ e>: Value can be stored in a secondary
relation (if relation has one, see
- <structname>pg_class.reltoastrelid>).
+ <literal>pg_class.reltoastrelid>).
-
'm': Value can be stored compressed inline.
+
m>: Value can be stored compressed inline.
-
'x': Value can be stored compressed inline or in secondary
.
+
x>: Value can be stored compressed inline or stored in secondary
storage.
- Note that 'm' fields can also be moved out to secondary
- storage, but only as a last resort ('e' and 'x' fields are
+ Note that m> columns can also be moved out to secondary
+ storage, but only as a last resort (e> and x> columns are
moved first).
|
- typnotnull
+ typnotnull
bool
- typnotnull represents a NOT NULL
- constraint on a type. Presently used for domains only.
+ typnotnull represents a not-null
+ constraint on a type. Used for domains only.
|
- typbasetype
+ typbasetype
oid
- pg_type.oid
+ pg_type.oid
If this is a derived type (see typtype),
then typbasetype identifies
|
- typtypmod
+ typtypmod
int4
- Domains use typtypmod to record the typmod
+ Domains use typtypmod to record the typmod>
to be applied to their base type (-1 if base type does not use a
- typmod). -1 if this type is not a domain.
+ typmod>). -1 if this type is not a domain.
|
- typndims
+ typndims
int4
typndims is the number of array dimensions
for a domain that is an array (that is, typbasetype is an array type;
the domain's typelem will match the base type's typelem).
- Zero for non-domains and non-array domains.
+ Zero for types other than array domains.
|
- typdefaultbin
+ typdefaultbin
text
- If typdefaultbin> is not NULL, it is the nodeToString
- representation of a default expression for the type. Currently this is
+ If typdefaultbin> is not null, it is the nodeToString()
+ representation of a default expression for the type. This is
only used for domains.
|
- typdefault
+ typdefault
text
- typdefault> is NULL if the type has no associated
- default value. If typdefaultbin> is not NULL,
+ typdefault> is null if the type has no associated
+ default value. If typdefaultbin> is not null,
typdefault> must contain a human-readable version of the
default expression represented by typdefaultbin>. If
- typdefaultbin> is NULL and typdefault> is
+ typdefaultbin> is null and typdefault> is
not, then typdefault> is the external representation of
the type's default value, which may be fed to the type's input
converter to produce a constant.