The catalog pg_class
catalogs tables and most
everything else that has columns or is otherwise similar to a
table. This includes indexes (but see also
pg_index
), sequences, views, composite types,
and some kinds of special relation; see relkind
.
Below, when we mean all of these
kinds of objects we speak of “relations”. Not all
columns are meaningful for all relation types.
Table 42.12. pg_class
Columns
Name | Type | References | Description |
---|---|---|---|
relname |
name |
Name of the table, index, view, etc. | |
relnamespace |
oid |
|
The OID of the namespace that contains this relation |
reltype |
oid |
|
The OID of the data type that corresponds to this table's row type,
if any (zero for indexes, which have no pg_type entry)
|
relowner |
oid |
|
Owner of the relation |
relam |
oid |
|
If this is an index, the access method used (B-tree, hash, etc.) |
relfilenode |
oid |
Name of the on-disk file of this relation; 0 if none | |
reltablespace |
oid |
|
The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not meaningful if the relation has no on-disk file.) |
relpages |
int4 |
Size of the on-disk representation of this table in pages (of size
BLCKSZ ).
This is only an estimate used by the planner.
It is updated by VACUUM ,
ANALYZE , and a few DDL commands
such as CREATE INDEX .
|
|
reltuples |
float4 |
Number of rows in the table.
This is only an estimate used by the planner.
It is updated by VACUUM ,
ANALYZE , and a few DDL commands
such as CREATE INDEX .
|
|
reltoastrelid |
oid |
|
OID of the TOAST table associated with this table, 0 if none. The TOAST table stores large attributes “out of line” in a secondary table. |
reltoastidxid |
oid |
|
For a TOAST table, the OID of its index. 0 if not a TOAST table. |
relhasindex |
bool |
True if this is a table and it has (or recently had) any
indexes. This is set by CREATE INDEX , but
not cleared immediately by DROP INDEX .
VACUUM clears relhasindex if it finds the
table has no indexes.
|
|
relisshared |
bool |
True if this table is shared across all databases in the
cluster. Only certain system catalogs (such as
pg_database ) are shared. |
|
relkind |
char |
r = ordinary table, i = index,
S = sequence, v = view, c =
composite type, s = special, t = TOAST
table
|
|
relnatts |
int2 |
Number of user columns in the relation (system columns not
counted). There must be this many corresponding entries in
pg_attribute . See also
pg_attribute.attnum .
|
|
relchecks |
int2 |
Number of check constraints on the table; see
pg_constraint catalog
|
|
reltriggers |
int2 |
Number of triggers on the table; see
pg_trigger catalog
|
|
relukeys |
int2 |
unused (not the number of unique keys) | |
relfkeys |
int2 |
unused (not the number of foreign keys on the table) | |
relrefs |
int2 |
unused | |
relhasoids |
bool |
True if we generate an OID for each row of the relation. | |
relhaspkey |
bool |
True if the table has (or once had) a primary key. | |
relhasrules |
bool |
True if table has rules; see
pg_rewrite catalog.
|
|
relhassubclass |
bool |
True if table has (or once had) any inheritance children. | |
relacl |
aclitem[] |
Access privileges; see GRANT and REVOKE for details. |