历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.
3.5. pg_class #
pg_class 登记表以及几乎所有其他具有列或类似于表的东西。这包括索引(但见 pg_index)、序列、视图和一些种类的特殊关系。下文中,当我们指所有这些类型的对象时,就统称“关系”。并非所有字段对所有关系类型都有意义。
表 3.5. pg_class 列
| 名称 | 类型 | 引用 | 描述 |
|---|---|---|---|
| relname | name | 表、索引、视图等的名字 | |
| reltype | oid | pg_type.oid | 与该表对应的数据类型(不具功能,只对系统表设置) |
| relowner | int4 | pg_shadow.usesysid | 关系的拥有者 |
| relam | oid | pg_am.oid | 如果这是索引,则为所用的访问方法(btree、hash 等) |
| relfilenode | oid | 该关系在磁盘上的文件名 | |
| relpages | int4 | 该表在磁盘上的表示的大小,以页(大小 BLCKSZ)计。这只是一个在 vacuum 期间计算的近似值。 | |
| reltuples | int4 | 表中的元组数。这只是规划器使用的一个估计值,由 VACUUM 更新。 | |
| reltoastrelid | oid | pg_class.oid | 与该表关联的 TOAST 表的 OID,如果没有则为 0。TOAST 表把大属性“线外”存储在一个二级表中。 |
| reltoastidxid | oid | pg_class.oid | 该表的 TOAST 表上索引的 OID,如果没有则为 0 |
| relhasindex | bool | 如果这是一个表并且它至少有一个索引,则为真 | |
| relisshared | bool | XXX(这并不是它看起来的那个意思。) | |
| relkind | char | 'r' = 普通表,'i' = 索引,'S' = 序列,'v' = 视图,'s' = 特殊,'t' = 二级 TOAST 表 | |
| relnatts | int2 | 关系中除系统列之外的列数。pg_attribute 中必须有相应数目的项。另见 pg_attribute.attnum。 | |
| relchecks | int2 | 表上的检查约束数;参见 pg_relcheck 目录 | |
| reltriggers | int2 | 表上的触发器数;参见 pg_trigger 目录 | |
| relukeys | int2 | 未使用(不是唯一键的数目之类的东西。) | |
| relfkeys | int2 | 表上外键的数目 | |
| relhaspkey | bool | 未使用(不,这并不说明表是否有主键。它真的是未使用的。) | |
| relhasrules | bool | 表有规则 | |
| relhassubclass | bool | 至少有一个表继承该表 | |
| relacl | aclitem[] | 访问权限。详见 GRANT 和 REVOKE 的说明。 |