↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本。 PostgreSQL 9.2 已结束支持。 2017-11-09. 请参阅 当前版本手册.

45.11. pg_class #

目录 pg_class 记录表和大多数其他具有列或者类似于表的对象。这包括索引(但另见 pg_index)、序列、视图、组合类型和 TOAST 表;见 relkind。Below, when we mean all of these kinds of objects we speak of “relations”. Not all columns are meaningful for all relation types.

表 45.11. pg_class 列

NameTypeReferencesDescription
relnamename Name of the table, index, view, etc.
relnamespaceoidpg_namespace.oid The OID of the namespace that contains this relation
reltypeoidpg_type.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)
reloftypeoidpg_type.oid For typed tables, the OID of the underlying composite type, zero for all other relations
relowneroidpg_authid.oidOwner of the relation
relamoidpg_am.oidIf this is an index, the access method used (B-tree, hash, etc.)
relfilenodeoid Name of the on-disk file of this relation; zero means this is a “mapped” relation whose disk file name is determined by low-level state
reltablespaceoidpg_tablespace.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.)
relpagesint4  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.
reltuplesfloat4  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.
relallvisibleint4  在表的可见性映射中被标记为全可见的页数。这只是一个由规划器使用的估计值。它被VACUUM、ANALYZE以及一些DDL命令,如CREATE INDEX所更新。
reltoastrelidoidpg_class.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.
reltoastidxidoidpg_class.oid For a TOAST table, the OID of its index. 0 if not a TOAST table.
relhasindexbool  True if this is a table and it has (or recently had) any indexes
relissharedbool  True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared.
relpersistencechar  p = permanent table, u = unlogged table, t = temporary table
relkindchar  r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table, f = foreign table
relnattsint2  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.
relchecksint2  Number of CHECK constraints on the table; see pg_constraint catalog
relhasoidsbool  True if we generate an OID for each row of the relation
relhaspkeybool  True if the table has (or once had) a primary key
relhasrulesbool  True if table has (or once had) rules; see pg_rewrite catalog
relhastriggersbool  True if table has (or once had) triggers; see pg_trigger catalog
relhassubclassbool True if table has (or once had) any inheritance children
relfrozenxidxid  All transaction IDs before this one have been replaced with a permanent (“frozen”) transaction ID in this table. This is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow pg_clog to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.
relaclaclitem[]  Access privileges; see GRANT and REVOKE for details
reloptionstext[]  Access-method-specific options, as “keyword=value” strings

pg_class中的一些布尔标志采用延迟维护:当条件成立时,保证它们为真;但当条件不再成立时,可能不会立即将它们重置为假。例如,relhasindex由CREATE INDEX设置,但它从不会被DROP INDEX清除。作为替代,VACUUM会在找到无索引表后清除其relhasindex。这种安排避免了竞争条件并且提高了并发性。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.