pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
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 列
| 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) |
reloftype |
oid |
|
For typed tables, the OID of the underlying composite type, zero for all other relations |
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; zero means this is a “mapped” relation whose disk file name is determined by low-level state | |
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. |
|
relallvisible |
int4 |
在表的可见性映射表中被标记为全可见的页数。这只是一个由规划器使用的估计值。 它被VACUUM、ANALYZE以及一些DDL命令,如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 | |
relisshared |
bool |
True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database) are shared. |
|
relpersistence |
char |
p = permanent table, u = unlogged table, t = temporary table |
|
relkind |
char |
r = ordinary table, i = index, S = sequence, v = view, c = composite type, t = TOAST table, f = foreign 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 |
|
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 (or once had) rules; see pg_rewrite catalog |
|
relhastriggers |
bool |
True if table has (or once had) triggers; see pg_trigger catalog |
|
relhassubclass |
bool |
True if table has (or once had) any inheritance children | |
relfrozenxid |
xid |
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. |
|
relacl |
aclitem[] |
Access privileges; see GRANT and REVOKE for details | |
reloptions |
text[] |
Access-method-specific options, as “keyword=value” strings |
pg_class中的一些布尔标志采用延迟维护:当条件成立时,保证它们为真;但当条件不再成立时,可能不会立即将它们重置为假。 例如,relhasindex由CREATE INDEX设置,但它从不会被DROP INDEX清除。 作为替代,VACUUM会在找到无索引表后清除其relhasindex。 这种安排避免了竞争条件并且提高了并发性。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。