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

执行该事务所在的数据库名。