sys_class(表的信息)

sys_class 记载表和几乎所有有字段或者是那些类似表的东西。包括索引(不过还要参阅 sys_index(索引) ), 序列,视图和一些特殊关系类型。在下面,当我们指所有这些对象的时候我们说 "relations"。不是所有字段对所系类型都有意义。

表81 SYS_CLASS 结构
列名 类型 描述
OID OID 对象标识符
RELNAME NAME 表,索引,视图,序列等的名字
RELSID BIGINT 段id
RELNAMESPACE OID 包含这个关系的名字空间的OID
RELTYPE OID 与sys_type相关联的入口的OID (索引为0)
RELOWNER INT 关系所有者
RELAM OID 索引访问模式(B-tree,hash,等等),不是索引则为0
RELPAGES INT 以页为形式(大小为BLCKSZ)此表在磁盘上的大小。它只是规划器用的一个近似值,是由 VACUUM,ANALYZE和CREATE INDEX 更新
RELTUPLES REAL 表中元组的数目。只是规划器使用的一个估计值,由VACUUM,ANALYZE和CREATE INDEX 更新
RELTOASTRELID OID lock选项
RELTOASTIDXID OID 索引代价信息
RELVBASE INT 构成最后更改此关系的事务的物理事务号
RELNATTS SMALLINT 关系中字段数目,除了系统字段以外。在 sys_attribute 里肯定有许多对应元组。又见 sys_attribute.attnum
RELCHECKS SMALLINT 表里的检查约束的数目(参阅sys_relcheck)
RELTRIGGERS SMALLINT 触发器的数目(未用)
RELUKEYS SMALLINT 唯一键的数目(未用)
RELVITEM SMALLINT 构成最后更改此关系的事务的物理事务号
RELVWRAP SMALLINT 构成最后更改此关系的事务的物理事务号
RELHASINDEX BOOLEAN 如果它是一个表而且至少有一个索引,则为真
RELFLAGS TINYINT 每一位用来表示表的一个特殊属性,目前取值1表示记录二进制日志,取值0表示不记录
RELKIND "CHAR" 'r' = 普通表,'i' = 索引,'S' = 序列,'v' = 视图, 's' = 特殊表,'t' = 从属TOAST表, 'q' = 全文索引, 'p' = 包, 'y' = 同义词, 'C' = CDC, 'f' = 分区表, 'g' = 分区索引, 'm' = 物化视图, 'T' = 会话级全局临时表, 'X' = 会话级全局临时索引, 'x' = 事务级全局临时索引
RELHASOIDS BOOLEAN 如果我们为这个关系的每一行产生OID则为真
RELHASPKEY BOOLEAN 是否有主键索引
RELHASRULES BOOLEAN 表有规则(参阅 sys_rewrite(重写规则))
RELHASSUBCLASS BOOLEAN 至少有一个表继承这个表
RELACL ACLITEM[] 访问权限(参阅 GRANTREVOKE 获取详细信息)