历史版本。 PostgreSQL 7.4 已结束支持。 请参阅 当前版本手册.
43.9. pg_class #
目录 pg_class 登记表以及几乎所有其他具有列或类似于表的东西。这包括索引(但另见 pg_index)、序列、视图和一些特殊关系;参见 relkind。下文中,当我们指所有这些类型的对象时,就统称“关系”。并非所有列对所有关系类型都有意义。
表 43.9. pg_class 列
| 名称 | 类型 | 引用 | 描述 |
|---|---|---|---|
relname | name | 表、索引、视图等的名字 | |
relnamespace | oid | | 包含该关系的名字空间的OID |
reltype | oid | | 与该表对应的数据类型的 OID(如果有的话;索引为零,因为索引没有 pg_type 项) |
relowner | int4 | | 关系的拥有者 |
relam | oid | | 如果这是索引,则为使用的访问方法(B-树、hash 等) |
relfilenode | oid | 该关系在磁盘上的文件名;如果没有则为 0 | |
relpages | int4 | 该表在磁盘上的表示的大小,以页(大小为 BLCKSZ)计。这只是规划器使用的一个估计值。它由 VACUUM、ANALYZE 和 CREATE INDEX 更新。 | |
reltuples | float4 | 表中的行数。这只是规划器使用的一个估计值。它由 VACUUM、ANALYZE 和 CREATE INDEX 更新。 | |
reltoastrelid | oid | | 与该表相关联的TOAST表的OID,如果没有则为零。TOAST表将大属性“线外”存储在一个二级表中。 |
reltoastidxid | oid | | 对于 TOAST 表,为其索引的 OID。如果不是 TOAST 表则为 0。 |
relhasindex | bool | 如果这是一个表并且它有(或最近有过)任何索引,则为真。它由 CREATE INDEX 设置,但 DROP INDEX 不会立即清除。VACUUM 在发现表没有索引时会清除 relhasindex。 | |
relisshared | bool | 如果该表在集簇中的所有数据库间共享则为真。只有某些系统目录(如pg_database)是共享的。
| |
relkind | char | r = 普通表,i = 索引,S = 序列,v = 视图,c = 复合类型,s = 特殊,t = TOAST 表 | |
relnatts | int2 | 关系中用户列的数量(不计系统列)。在pg_attribute中必须有这么多对应项。另请参阅pg_attribute.attnum。
| |
relchecks | int2 | 表上的检查约束数;参见 pg_constraint 目录 | |
reltriggers | int2 | 表上的触发器数;参见 pg_trigger 目录 | |
relukeys | int2 | 未使用(不是唯一键的数目) | |
relfkeys | int2 | 未使用(不是表上外键的数目) | |
relrefs | int2 | 未使用 | |
relhasoids | bool | 如果为该关系的每一行生成一个 OID,则为真。 | |
relhaspkey | bool | 如果该表有(或曾经有过)主键,则为真。 | |
relhasrules | bool | 表有规则;参见 pg_rewrite 目录 | |
relhassubclass | bool | 至少有一个表继承自该表 | |
relacl | aclitem[] | 访问权限;详见 GRANT 和 REVOKE 的说明。 |