叫啥名奕

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

pg_class

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

Table 45-11. pg_class Columns

名称类型引用描述
relname name   表、索引、视图等的名字。
relnamespace oid pg_namespace.oid 包含这个关系的名字空间(模式)的OID
reltype oid pg_type.oid 对应这个表的行类型的数据类型(索引为零,它们没有pg_type记录)。
reloftype oid pg_type.oid 对于类型表,复合类型的OID,所有其他关系为零。
relowner oid pg_authid.oid 关系所有者
relam oid pg_am.oid 如果行是索引,那么就是所用的访问模式(B-tree, hash 等等)
relfilenode oid   这个关系在磁盘上的文件名,零表示这一点 是一个"映射"关系由低层次的状态确定的磁盘文件的名称。
reltablespace oid pg_tablespace.oid 这个关系存储所在的表空间。如果为零,则意味着使用该数据库的缺省表空间。 如果关系在磁盘上没有文件,则这个字段没有什么意义。
relpages int4   以页(大小为BLCKSZ)的此表在磁盘上的形式的大小。它只是规划器用的一个估计值, 是由VACUUMANALYZE和几个DDL命令,比如CREATE INDEX更新。
reltuples float4   表中行数。只是规划器使用的一个估计值,由VACUUMANALYZE和几个DDL命令,比如CREATE INDEX更新。
reltoastrelid oid pg_class.oid 与此表关联的TOAST表的OID,如果没有为0。TOAST表在一个从属表里"离线"存储大字段。
reltoastidxid oid pg_class.oid 对于TOAST表是它的索引的OID,如果不是TOAST表则为0
relhasindex bool   如果它是一个表而且至少有(或者最近有过)一个索引,则为真。
relisshared bool   如果该表在整个集群中由所有数据库共享则为真。只有某些系统表(比如pg_database)是共享的。
relistemp bool   结果是真,如果表是一个临时关系。如果这样,仅创建会话的能安全进入它的内容。
relkind char   r = 普通表, i = 索引, S = 序列, v = 视图, c = 复合类型, t = TOAST表
relnatts int2   关系中用户字段数目(除了系统字段以外)。在pg_attribute里肯定有相同数目对应行。 又见pg_attribute.attnum
relchecks int2   表里的检查约束的数目;参阅pg_constraint
relhasoids bool   如果为关系中每行都生成一个OID则为真
relhaspkey bool   如果这个表有一个(或者曾经有一个)主键,则为真。
relhasexclusion bool   一个表,如果表中有(或曾经)任何排斥约束则为真;一个索引,如果索引支持排斥约束则为真。
relhasrules bool   如表有规则就为真;参阅pg_rewrite
relhastriggers bool   表里有(或者曾经有一个)触发器则为TRUE;参阅pg_trigger 表
relhassubclass bool   如果有(或者曾经有)任何继承的子表,则为真。
relfrozenxid xid   该表中所有在这个之前的事务ID已经被一个固定的("冻结")事务ID替换。 这用于跟踪该表是否需要为了防止事务ID重叠或者允许收缩pg_clog而进行清理。 如果该关系不是表,则为零(InvalidTransactionId)。
relacl aclitem[]   访问权限。参阅GRANT和REVOKE获取详细信息。
reloptions text[]   访问方法特定的选项,使用"keyword=value"格式的字符串

几个pg_class布尔标志保持 懒散:他们都保证是真的,如果这是正确的状态,当条件不再为真,但 可能不能立即重置为假。比如,relhasindex通过CREATE INDEX设置,但是 从来没有通过DROP INDEX清除它。而是,如果发现表中没有索引,VACUUM清除relhasindex 。这种安排避免了竞争条件并且提高并发性。

 

https://www.php.cn/manual/view/20908.html

 

posted on   叫啥名奕  阅读(269)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
 
点击右上角即可分享
微信分享提示