PG_CLASS
PG_CLASS records database objects and their relationship.
Name |
Type |
Description |
||||
---|---|---|---|---|---|---|
oid |
oid |
Row identifier (hidden attribute, which must be specified). |
||||
relname |
name |
Name of an object, such as a table, index, or view. |
||||
relnamespace |
oid |
OID of the namespace that contains the relationship. |
||||
reltype |
oid |
Data type that corresponds to the table's row type. The index is 0 because the index does not have PG_TYPE records. |
||||
reloftype |
oid |
OID of the composite type (0 for other types). |
||||
relowner |
oid |
Owner of the relationship. |
||||
relam |
oid |
Access method used, such as B-tree and hash, if this is an index. |
||||
relfilenode |
oid |
Name of the on-disk file of this relationship (0 if such file does not exist). |
||||
reltablespace |
oid |
Tablespace in which this relationship is stored. If the value is 0, the default tablespace in this database is used. This column is meaningless if the relationship has no on-disk file. |
||||
relpages |
double precision |
Size of the on-disk representation of the table in pages (of size BLCKSZ). This is only an estimate used by the optimizer. |
||||
reltuples |
double precision |
Number of rows in the table. This is only an estimate used by the optimizer. |
||||
relallvisible |
integer |
Number of pages marked as all visible in the table. This column is used by the optimizer for optimizing SQL execution. It is updated by VACUUM, ANALYZE, and a few DDL statements such as CREATE INDEX. |
||||
reltoastrelid |
oid |
OID of the TOAST table associated with the table (0 if no TOAST table exists). The TOAST table stores large columns "offline" in a secondary table. |
||||
reltoastidxid |
oid |
OID of the index for a TOAST table (0 for a table other than a TOAST table). |
||||
relhasindex |
boolean |
Its value is true if this column is a table and has (or recently had) at least one index. It is set by CREATE INDEX but is not immediately cleared by DROP INDEX. If the VACUUM process detects that a table has no index, it clears the relhasindex column and sets the value to false. |
||||
relisshared |
boolean |
Its value is true if the table is shared across all databases in the entire cluster. Otherwise, the value is false. Only certain system catalogs (such as PG_DATABASE) are shared. |
||||
relpersistence |
"char" |
|
||||
relkind |
"char" |
|
||||
relnatts |
smallint |
Number of user columns in the relationship (excluding system columns). PG_ATTRIBUTE has the same number of rows as the user columns. |
||||
relchecks |
smallint |
Number of check constraints in the table. For details, see the system catalog PG_CONSTRAINT. |
||||
relhasoids |
boolean |
Its value is true if an OID is generated for each row of the relationship. Otherwise, the value is false. |
||||
relhaspkey |
boolean |
Its value is true if the table has (or once had) a primary key. Otherwise, the value is false. |
||||
relhasrules |
boolean |
Its value is true if the table has rules. For details, see the system catalog PG_REWRITE. |
||||
relhastriggers |
boolean |
The value is true if the table has (or once had) triggers. Triggers of the table and view are recorded in the system catalog PG_TRIGGER. |
||||
relhassubclass |
boolean |
Its value is true if the table has (or once had) any inheritance child table. Otherwise, the value is false. |
||||
relrowmovement |
boolean |
Specifies whether row migration is allowed when the partitioned table is updated.
|
||||
parttype |
"char" |
Specifies whether the table or index has the property of a partitioned table.
|
||||
relfrozenxid |
xid32 |
All transaction IDs before this one have been replaced with a permanent ("frozen") transaction ID in the table. This column is used to track whether the table needs to be vacuumed to prevent transaction ID wraparound (or to allow PG_CLOG to be shrunk). The value is 0 (InvalidTransactionId) if the relationship is not a table. To ensure forward compatibility, this column is reserved. The relfrozenxid64 column is added to record the information. |
||||
relacl |
aclitem[] |
Access permissions. The command output of the query is as follows:
xxxx indicates assigned permissions, and yyyy indicates roles with the assigned permissions. For details on permission descriptions, see Table 2. |
||||
reloptions |
text[] |
Table or index access method, using character strings in the format of keyword=value. |
||||
relreplident |
"char" |
Identifier of a decoding column in logical decoding.
|
||||
relfrozenxid64 |
xid |
All transaction IDs before this one have been replaced with a permanent ("frozen") transaction ID in the table. This column is used to track whether the table needs to be vacuumed to prevent transaction ID wraparound (or to allow PG_CLOG to be shrunk). The value is 0 (InvalidTransactionId) if the relationship is not a table. |
||||
relbucket |
oid |
Specifies whether the current catalog contains hash bucket shards. A valid OID points to the specific shard information recorded in the PG_HASHBUCKET catalog. NULL indicates that hash bucket shards are not included. |
||||
relbucketkey |
int2vector |
Hash partition key information. NULL indicates that the column information is not included. |
||||
relminmxid |
xid |
All multi-transaction IDs before this one have been replaced with a transaction ID in the table. This column is used to track whether the table needs to be vacuumed in order to prevent multi-transaction IDs wraparound or to allow pg_clog to be shrunk. The value is 0 (InvalidTransactionId) if the relationship is not a table. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.