Greenplum中的pg_class视图

0    220    4

Tags:

👉 本文共约4911个字,系统预计阅读时间或需19分钟。

简介

系统目录表pg_class记录表以及其他大部分具有列或者与表(也称为关系)相似的东西。 这包括索引(另见pg_index)、序列、视图、组合类型和TOAST表。 并不是所有的列对所有的关系类型都有意义。

类型参考描述
relnamename表、索引、视图等的名字。
relnamespaceoidpg_namespace.oid包含这个关系的命名空间(schema)的OID
reltypeoidpg_type.oid如果有的话(索引为0,没有pg_type项),对应与此表的行类型的数据类型的OID
reloftypeoidpg_type.oidpg_type中条目的OID,用于隐含的复合类型。
relowneroidpg_authid.oid关系的所有者
relamoidpg_am.oid如果这是一个索引,则表示访问方法(B树、位图、哈希等。)
relfilenodeoid此关系的磁盘文件的名称,如果没有则为0。
reltablespaceoidpg_tablespace.oid存储此关系的表空间。 如果为0,则表示数据库的默认表空间(如果关系没有磁盘文件,则无意义)。The tablespace in which this relation is stored. If zero, the
relpagesint4该表的磁盘尺寸,以页面为单位(每页32k)。 这只是优化器使用的估计值。 它由VACUUM、ANALYZE和一些DDL命令更新。
reltuplesfloat4表中的行数。 这只是优化器使用的估计值。 它由VACUUM、ANALYZE和一些DDL命令更新。
relallvisibleint32全部可见块的数量(此值可能不是最新的)。
reltoastrelidoidpg_class.oid与这张表关联的TOAST表的OID,没有的就为0。 TOAST表在辅助表中存储“行溢出”的大型属性。
relhasindexboolean如果这是一个表并且它(或最近有)任何索引,则为True。 这由CREATE INDEX设置,但不会立即由DROP INDEX清除。 如果发现表没有索引,VACUUM将清除。
relissharedboolean如果此表在系统中的所有数据库之间共享,则为True。 仅共享某些系统目录表。
relpersistencechar对象持久性的类型:p =堆或追加优化表,u =未记录的临时表,t =临时表。
relkindchar对象的类型r = 堆或追加优化表, i = 索引,S = 序列,t = TOAST值,v = 视图,c = 组合类型, f = 外部表,u = 未登记的临时堆表, o = 内部追加优化的segment文件和EOF, b = 追加的块目录,M = 追加的可视化映射,m为物化视图
relstoragechar表的存储模式a= 追加优化,c= 面向列的,h = 堆表, v = 虚拟,x= 外部表。
relnattsint2关系中用户列的数量(系统列不计入)。 pg_attribute中必须有这么多个相应的项。
relchecksint2表中检查约束的个数。
relhasoidsboolean如果为关系的每一行生成OID,则为True。
relhaspkeyboolean如果表具有(或曾经拥有)主键,则为True。
relhasrulesboolean如果表有规则,则为True。
relhastriggersboolean如果表有(或曾经有)触发器,则为True。
relhassubclassboolean如果表具有(或曾经有)任何继承子项,则为True。
relispopulatedboolean如果关系被填充,则为真(对于除某些物化视图之外的所有关系都是如此)。
relreplidentchar用于为行形成“副本标识”的列:d =默认(主键,如果有),n =无,f =所有列 i =具有indisreplident设置的索引,或默认值
relfrozenxidxid此表中该值之前的所有事务ID都已替换为此表中的永久(冻结)事务ID。 这用于跟踪表是否需要被清理以防止事务ID环绕或允许pg_clog收缩。如果关系不是表,或者表不需要清理以防止事务ID环绕,则值为0(InvalidTransactionId)。 该表仍可能需要清理才能回收磁盘空间。
relminmxidxid此表中该值之前的所有multixact ID都已被此表中的事务ID替换。 这用于跟踪表是否需要被清理以防止多重ID环绕或允许pg_multixact收缩。 如果关系不是表,则为零(InvalidMultiXactId)。
relaclaclitem[]GRANT和REVOKE分配的访问权限。
reloptionstext[]特定于访问方法的选项,作为“keyword = value”字符串。

GP6和GP7中的pg_class对比

GP6GP7
relaclrelacl
relallvisiblerelallvisible
relamrelam
relchecksrelchecks
relfilenoderelfilenode
relforcerowsecurity
relfrozenxidrelfrozenxid
relhasindexrelhasindex
relhasoids
relhaspkey
relhasrulesrelhasrules
relhassubclassrelhassubclass
relhastriggersrelhastriggers
relispartition
relispopulatedrelispopulated
relissharedrelisshared
relkindrelkind
relminmxidrelminmxid
relnamerelname
relnamespacerelnamespace
relnattsrelnatts
reloftypereloftype
reloptionsreloptions
relownerrelowner
relpagesrelpages
relpartbound
relpersistencerelpersistence
relreplidentrelreplident
relstoragerelrewrite
relrowsecurity
reltablespacereltablespace
reltoastrelidreltoastrelid
reltuplesreltuples
reltypereltype

其它

PG中对应的pg_class视图请参考:https://www.dbaup.com/pgzhongdexitongbiaohexitongshitushujuzidian.html#pg_class

总结

1、PG中的pg_class是没有relstorage字段的

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复