PG_FOREIGN_TABLE
存储外部表的附助信息。
名称 | 类型 | 描述 |
FTRELID | OID | 外部表的ID。 |
FTSERVER | OID | 外部表的所在服务器。 |
FTOPTIONS | TEXT[] | 外部表的可选项。 |
PG_INDEX
存储索引的一部分信息,其他的信息大多数在PG_CLASS中。
名称 | 类型 | 描述 |
INDEXRELID | OID | 这个索引在pg_class里的记录的OID。 |
INDRELID | OID | 使用这个索引的表在pg_class里的记录的OID。 |
INDNATTS | SMALLINT | 索引中的字段数目(复制的pg_class.relnatts)。 |
INDISUNIQUE | BOOLEAN | 如果为真,这是个唯一索引。 |
INDISPRIMARY | BOOLEAN | 如果为真,该索引代表该表的主键。这个字段为真的时候indisunique总是为真。 |
INDISEXCLUSION | BOOLEAN | 如果为真,该索引支持排他约束。 |
INDIMMEDIATE | BOOLEAN | 如果为真,在插入数据时会立即进行唯一性检查。 |
INDISCLUSTERED | BOOLEAN | 如果为真,则该表最后在这个索引上建了簇。 |
INDISVALID | BOOLEAN | 如果为真,则该索引可以用于查询。如果为假,则该索引可能不完整,仍然必须在INSERT/UPDATE操作时进行更新,不过不能安全的用于查询。如果是唯一索引,则唯一属性也将不为真。 |
INDCHECKXMIN | BOOLEAN | 如果为真,当该索引的行数小于TransactionXmin设置的值时,查询时就不用该索引。 |
INDISREDAY | BOOLEAN | 如果为真,表示此索引对插入数据是可用的,否则,在插入或修改数据时忽略此索引。 |
INDKEY | INT2VECTOR | 这是一个包含indnatts值的数组,这些数组值表示这个索引所建立的表字段。比如一个值为1 3的意思是第一个字段和第三个字段组成这个索引键字。这个数组里的零表明对应的索引属性是在这个表字段上的一个表达式,而不是一个简单的字段引用。 |
INDCOLLATION | OIDVECTOR | 索引用到的各列的ID。 |
INDCLASS | OIDVECTOR | 对于索引键字里面的每个字段,这个字段都包含一个指向所使用的操作符类的OID ,参阅pg_opclass获取细节。 |
INDOPTION | INT2VECTOR | 存储列前标识位,该标识位是由索引的访问方法定义。 |
INDEXPRS | PG_NODE_TREE | 表达式树(以nodeToString()形式表现)用于那些非简单字段引用的索引属性。它是一个列表,个数与INDKEY中的零值个数相同。如果所有索引属性都是简单的引用,则为空。 |
INDPRED | PG_NODE_TREE | 部分索引断言的表达式树(以nodeToString() 的形式表现)。如果不是部分索引,则是空字符串。 |
PG_INDEXES
提供对数据库中每个索引的有用信息的访问。
名称 | 类型 | 引用 | 描述 |
SCHEMANAME | NAME | PG_NAMESPACE.NSPNAME | 包含表和索引的模式名字。 |
TABLENAME | NAME | PG_CLASS.RELNAME | 此索引所服务的表的名字。 |
INDEXNAME | NAME | PG_CLASS.RELNAME | 索引的名字。 |
TABLESPACE | NAME | PG_TABLESPACE.NSPNAME | 包含索引的表空间名字。 |
INDEXDEF | TEXT | - | 索引定义(一个重建的CREATE INDEX命令)。 |
PG_LOCKS
存储各打开事务所持有的锁信息。
名称 | 类型 | 引用 | 描述 |
LOCKTYPE | TEXT | - | 被锁定对象的类型:relation,extend,page,tuple,transactionid,virtualxid,object,userlock,advisory。 |
DATABASE | OID | PG_DATABASE.OID | 被锁定对象所在数据库的OID。 如果被锁定的对象是共享对象,则OID为0。 如果是一个事物ID,则为NULL。 |
RELATION | OID | PG_CLASS.OID | 关系的OID,如果锁定的对象不是关系,也不是关系的一部分,则为NULL。 |
PAGE | INTEGER | - | 关系内部的页面编号,如果对象不是关系页或者不是行页,则为NULL。 |
TUPLE | SMALLINT | - | 页面里边的行编号,如果对象不是行,则为NULL。 |
VIRTUALXID | TEXT | - | 事务的虚拟ID,如果对象不是一个虚拟事务ID,则为NULL。 |
TRANSACTIONID | XID | - | 事务的ID,如果对象不是一个事务ID,则为NULL。 |
CLASSID | OID | PG_CLASS.OID | 包含该对象的系统表的OID,如果对象不是普通的数据库对象,则为NULL。 |
OBJID | OID | - | 对象在其系统表内的OID,如果对象不是普通数据库对象,则为NULL。 |
OBJSUBID | SMALLINT | - | 对于表的一个字段,这是字段编号;对于其他对象类型,这个字段是零;如果这个对象不是普通数据库对象,则为NULL。 |
VIRTUALTRANSACTION | TEXT | - | 持有此锁或者在等待此锁的事务的虚拟ID。 |
PID | INTEGER | - | 持有或者等待这个锁的服务器线程的逻辑ID。如果锁是被一个预备事务持有的,则为NULL。 |
MODE | TEXT | - | 这个线程持有的或者是期望的锁模式。 |
GRANTED | BOOLEAN | - | 如果锁是持有锁,则为TRUE。 如果锁是等待锁,则为FALSE。 |
FASTPATH | BOOLEAN | - | 如果通过fast-path获得锁,则为TRUE;如果通过主要的锁表获得,则为FALSE。 |
PG_NAMESPACE
存储名字空间,即存储schema相关的信息。
名称 | 类型 | 描述 |
NSPNAME | NAME | 名字空间的名字。 |
NSPOWNER | OID | 名字空间的所有者。 |
NSPACL | ACLITEM[] | 访问权限。 |
PG_PARTDEF
存储数据库内所有分区表的信息。
名称 | 类型 | 描述 |
PDEFREL | OID | 分区表的OID |
PDEFNAME | NAME | 分区表的名字 |
PDEFTYPE | CHAR | 分区表的类型 |
PDEFSUBTYPE | CHAR | 子分区表的类型 |
PDEFINSERTTRIG | OID | 执行插入操作的触发器函数的OID |
PDEFUPDATETRIG | OID | 执行更新操作的触发器函数的OID |
PDEFFINDPARTFOID | OID | 执行查询操作的触发器函数的OID |
PDEFCOLS | INT2VECTOR | 存放分区键的数组 |
PDEFSUBCOLS | INT2VECTOR | 存放子分区键的数组 |
PDEFKEYEXPR | PG_NODE_TREE | 键表达式的表达树 |
PDEFINSERTEXPR | PG_NODE_TREE | 插入表达式的表达树 |
PDEFKEYCOLS | INT4 | 分区键个数 |
PG_PARTITION
存储数据库内所有分区表(partitioned table)、分区(table partition)、分区上toast表和分区索引(index partition)四类对象的信息。分区表索引(partitioned index)的信息不在PG_PARTITION系统表中保存。
名称 | 类型 | 描述 |
RELNAME | NAME | 分区表、分区、分区上toast表和分区索引的名字。 |
PARTTYPE | "CHAR" | 对象类型: 'r':partitioned table 'p':table partition 'x':index partition 't':toast table |
PARENTID | OID | 当对象为分区表或分区时,此字段表示分区表在PG_CLASS中的OID。 当对象为index partition时,此字段表示所属分区表索引(partitioned index)的OID。 |
RANGENUM | INTEGER | 分区表中范围分区的个数。 |
INTERVALNUM | INTEGER | 分区表中间隔分区的个数。 |
PARTSTRATEGY | "CHAR" | 分区表分区策略,现在仅支持: 'r':范围分区。 'i':间隔分区。 |
RELFILENODE | OID | table partition、index partition、分区上toast表的物理存储位置。 |
RELTABLESPACE | OID | table partition、index partition、分区上toast表所属表空间的oid。 |
RELPAGES | INTEGER | 统计信息:table partition、index partition的数据页数量。 |
RELTUPLES | REAL | 统计信息:table partition、index partition的元组数。 |
RELALLVISIBLE | INTEGER | 统计信息:table partition、index partition的可见数据页数。 |
RELTOASTRELID | OID | table partition所对应toast表的oid。 |
RELTOASTIDXID | OID | table partition所对应toast表的索引的oid。 |
INDEXTBLID | OID | index partition对应table partition的oid。 |
RELFROZENXID | XID | 冻结事务ID号。 |
INTSPNUM | INTEGER | 间隔分区所属表空间的个数。 |
PARTKEY | INT2VECTOR | 分区键的列号。 |
INTERVALTABLESPACE | OIDVECTOR | 间隔分区所属的表空间,间隔分区以round-robin方式落在这些表空间内。 |
INTERVAL | TEXT[] | 间隔分区的间隔值。 |
BOUNDARIES | TEXT[] | 范围分区和间隔分区的上边界。 |
TRANSIT | TEXT[] | 间隔分区的跳转点。 |
PG_PLTEMPLATE
存储过程语言的“模板”信息。
名称 | 类型 | 描述 |
TMPLNAME | NAME | 这个模板所应用的语言的名字。 |
TMPLTRUSTED | BOOLEAN | 如果语言被认为是可信的,则为真。 |
TMPLDBACREATE | BOOLEAN | 如果语言是由数据库所有者创建的,则为真。 |
TMPLHANDLER | TEXT | 调用处理器函数的名字。 |
TMPLINLINE | TEXT | 匿名块处理器的名字,若没有则为NULL。 |
TMPLVALIDATOR | TEXT | 校验函数的名字,如果没有则为NULL。 |
TMPLLIBRARY | TEXT | 实现语言的共享库的路径。 |
TMPLACL | ACLITEM[] | 模板的访问权限(未使用)。 |
PG_PREPARED_STATEMENTS
显示当前会话所有可用的预备语句。
名称 | 类型 | 描述 |
NAME | TEXT | 预备语句的标识符。 |
STATEMENT | TEXT | 创建该预备语句的查询字符串。对于从SQL创建的预备语句而言是客户端提交的PREPARE语句;对于通过前/后端协议创建的预备语句而言是预备语句自身的文本。 |
PREPARE_TIME | TIMESTAMP WITH TIME ZONE | 创建该预备语句的时间戳。 |
PARAMETER_TYPES | REGTYPE[] | 该预备语句期望的参数类型,以regtype类型的数组格式出现。与该数组元素相对应的OID可以通过把regtype转换为oid值得到。 |
FROM_SQL | BOOLEAN | 如果该预备语句是通过PREPARE语句创建的则为true。 如果是通过前/后端协议创建的则为false。 |
PG_PREPARED_XACTS
显示当前准备好进行两阶段提交的事务的信息。
名称 | 类型 | 引用 | 描述 |
TRANSACTION | XID | - | 预备事务的数字事务标识。 |
GID | TEXT | - | 赋予该事务的全局事务标识。 |
PREPARED | TIMESTAMP WITH TIME ZONE | - | 事务准备好提交的时间。 |
OWNER | NAME | PG_AUTHID.ROLNAME | 执行该事务的用户的名字。 |
DATABASE | NAME | PG_DATABASE.DATNAME | 执行该事务所在的数据库名。 |