PG_ATTRDEF
存储列的默认值。
名称 | 类型 | 描述 |
ADRELID | OID | 该列的所属表 |
ADNUM | INTEGER | 该列的数目 |
ADBIN | PG_NODE_TREE | 字段缺省值的内部表现形式 |
ADSRC | TEXT | 人类可读的缺省值的内部表现形式 |
PG_ATTRIBUTE
存储表关于表字段的信息。
名称 | 类型 | 描述 |
ATTRELID | OID | 此字段所属表。 |
ATTNAME | NAME | 字段名。 |
ATTTYPID | OID | 字段类型。 |
ATTSTATTARGET | INTEGER | 控制ANALYZE为这个字段积累的统计细节的级别。 零值表示不收集统计信息。 负数表示使用系统缺省的统计对象。 正数值的确切信息是和数据类型相关的。 对于标量数据类型,ATTSTATTARGET既是要收集的"最常用数值"的目标数目,也是要创建的柱状图的目标数量。 |
ATTLEN | SMALLINT | 是本字段类型的pg_type.typlen的拷贝。 |
ATTNUM | SMALLINT | 字段数目。 |
ATTNDIMS | INTEGER | 如果该字段是数组,则是维数,否则是0 。 |
ATTCACHEOFF | INTEGER | 在磁盘上的时候总是-1 ,但是如果加载入内存中的行描述器中,它可能会被更新以缓冲在行中字段的偏移量。 |
ATTTYPMOD | INTEGER | 记录创建新表时支持的类型特定的数据(比如一个varchar字段的最大长度)。它传递给类型相关的输入和长度转换函数当做第三个参数。其值对那些不需要ATTTYPMOD的类型通常为-1。 |
ATTBYVAL | BOOLEAN | 这个字段类型的pg_type.typbyval的拷贝。 |
ATTSTORAGE | "CHAR" | 这个字段类型的pg_type.typstorage的拷贝。 |
ATTALIGN | "CHAR" | 这个字段类型的pg_type.typalign的拷贝。 |
ATTNOTNULL | BOOLEAN | 这代表一个非空约束。可以改变这个字段以打开或者关闭这个约束。 |
ATTHASDEF | BOOLEAN | 这个字段有一个缺省值,此时它对应pg_attrdef表里实际定义此值的记录。 |
ATTISDROPED | BOOLEAN | 这个字段已经被删除了,不再有效。一个已经删除的字段物理上仍然存在表中,但会被分析器忽略,因此不能再通过SQL访问。 |
ATTISLOCAL | BOOLEAN | 这个字段是局部定义在关系中的。请注意一个字段可以同时是局部定义和继承的。 |
ATTINHCOUNT | PG_ATTRIBUTE | 这个字段所拥有的直接祖先的个数。如果一个字段的祖先个数非零,则它就不能被删除或重命名。 |
ATTCOLLATION | OID | 对此列定义的校对列。 |
ATTACL | ACLITEM[] | 列级访问权限控制。 |
ATTOPTIONS | TEXT[] | 属性级可选项。 |
ATTFDWOPTIONS | TEXT[] | 属性级外数据选项。 |
PG_AUTHID
存储有关数据库认证标识符(角色)的信息。
名称 | 类型 | 描述 |
ROLNAME | NAME | 角色名称。 |
ROLSUPER | BOOLEAN | 角色是否拥有系统管理员权限。 |
ROLINHERIT | BOOLEAN | 角色是否自动继承其所属角色的权限。 |
ROLCREATEROLE | BOOLEAN | 角色是否可以创建更多角色。 |
ROLCREATEDB | BOOLEAN | 角色是否可以创建数据库。 |
ROLCATUPDATE | BOOLEAN | 角色是否可以直接更新系统表。如果没有设置这个字段为真,即使系统管理员也不能这么做。 |
ROLCANLOGIN | BOOLEAN | 角色是否可以登录,也就是说,这个角色可以给予会话认证标识符。 |
ROLREPLICATION | BOOLEAN | 角色是一个复制的角色(适配作用,没有实际的功能)。 |
ROLAUDITADMIN | BOOLEAN | 审计用户。 |
ROLCONNLIMIT | INTEGER | 对于可以登录的角色,限制其最大并发连接数量。 -1 表示没有限制。 |
ROLPASSWORD | TEXT | 口令(可能是加密的),如果没有口令,则为NULL。 |
ROLVALIDUNTIL | TIMESTAMP WITH TIME ZONE | 口令失效时间(只用于口令认证),如果没有失效期,则为NULL。 |
ROLCONFIG | TEXT[] | 运行时配置变量的会话缺省。 |
PG_AUTH_MEMBERS
存储显示角色之间的成员关系。
名称 | 类型 | 描述 |
ROLEID | OID | 拥有成员的角色ID。 |
MEMBER | OID | 属于ROLEID角色的一个成员的角色ID。 |
GRANTOR | OID | 赋予此成员关系的角色ID。 |
ADMIN_OPTION | BOOLEAN | 如果MEMBER可以把ROLEID角色的成员关系赋予其他角色,则为真。 |
PG_CLASS
存储数据库对象信息及其之间的关系。
名称 | 类型 | 描述 |
RELNAME | NAME | 表、索引、视图等对象的名字。 |
RELNAMESPACE | OID | 包含这个关系的名字空间的OID。 |
RELTYPE | OID | 对应这个表的行类型的数据类型(索引为零,因为索引没有pg_type记录)。 |
RELOWNER | OID | 关系所有者。 |
RELAM | OID | 如果行是索引,则就是所用的访问模式(B-tree,hash等)。 |
RELFILENODE | OID | 这个关系在磁盘上的文件的名称,如果没有则为0。 |
RELTABLESPACE | OID | 这个关系存储所在的表空间。如果为零,则意味着使用该数据库的缺省表空间。如果关系在磁盘上没有文件,则这个字段没有什么意义。 |
RELPAGES | INTEGER | 以页(大小为BLCKSZ)为单位的此表在磁盘上的大小,它只是规划器用的一个近似值。 |
RELTUPLES | REAL | 表中行的数目,只是规划器使用的一个估计值。 |
RELTOASTRELID | OID | 与此表关联的TOAST表的OID ,如果没有则为0。 TOAST表在一个从属表里“离线”存储大字段。 |
RELTOASTIDXID | OID | 对于TOAST表是它的索引的OID,如果不是TOAST表则为0。 |
RELHASINDEX | BOOLEAN | 如果它是一个表而且至少有(或者最近有过)一个索引,则为真。 它是由CREATE INDEX设置的,但DROP INDEX不会立即将它清除。如果VACUUM进程检测一个表没有索引,将会把它将清理relhasindex字段,将值设置为假。 |
RELISSHARED | BOOLEAN | 如果该表在整个集群中由所有数据库共享则为真。只有某些系统表(比如pg_database)是共享的。 |
RELKIND | CHAR | r=普通表 i=索引 S=序列 v=视图 c=复合类型 t=TOAST表 |
RELNATTS | SMALLINT | 关系中用户字段数目(除了系统字段以外)。在pg_attribute里肯定有相同数目对应行。 |
RELCHECKS | SMALLINT | 表里的检查约束的数目;参阅pg_constraint表。 |
RELTRIGGERS | SMALLINT | 表里的触发器的数目;参阅pg_trigger表。 |
RELUKEYS | SMALLINT | 未使用(不是唯一值的数目)。 |
RELFKEYS | SMALLINT | 未使用(不是表中外键的数目)。 |
RELREFS | SMALLINT | 未使用。 |
RELHASOIDS | BOOLEAN | 如果为关系中每行都生成一个OID则为真。 |
RELHASPKEY | BOOLEAN | 如果这个表有一个(或者曾经有一个)主键,则为真。 |
RELHASRULES | BOOLEAN | 如表有规则就为真。是否有规则可参考系统表PG_REWRITE。 |
RELHASSUBCLASS | BOOLEAN | 如果有(或者曾经有)任何继承的子表,为真。 |
RELROWMOVEMENT | BOOLEAN | 针对分区表进行update操作时,是否允许行迁移。 true:表示允许行迁移。 false:表示不允许行迁移。 |
RELFROZENXID | XID | 该表中所有在这个之前的事务ID已经被一个固定的("frozen")事务ID替换。这个字段用于跟踪该表是否需要为了防止事务ID重叠(或者允许收缩pg_clog)而进行清理。如果该关系不是表则为零(InvalidTransactionId)。 |
RELACL | ACLITEM[] | 访问权限。参阅GRANT和REVOKE获取详细信息。 |
RELOPTIONS | TEXT[] | 索引的访问方法,使用"keyword=value"格式的字符串。 |
PG_CONSTRAINT
存储表上的检查约束、主键、唯一约束和外键约束。
名称 | 类型 | 描述 |
CONNAME | NAME | 约束名字(不一定是唯一的)。 |
CONNAMESPACE | OID | 包含这个约束的名字空间的OID。 |
CONTYPE | "CHAR" | c = 检查约束 f = 外键约束 p = 主键约束 u = 唯一约束 |
CONDEFERRABLE | BOOLEAN | 这个约束是否可以推迟。 |
CONDEFERRED | BOOLEAN | 缺省时这个约束是否可以推迟。 |
CONRELID | OID | 这个约束所在的表;如果不是表约束则为0。 |
CONTYPEID | OID | 这个约束所在的域;如果不是一个域约束则为0。 |
CONFRELID | OID | 如果是外键,则为参考的表;否则为0。 |
CONFUPDTYPE | "CHAR" | 外键更新动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 |
CONFDELTYPE | "CHAR" | 外键删除动作代码。 a = 没动作 r = 限制 c = 级联 n =设置为null d =设置为缺省 |
CONFMATCHTYPE | "CHAR" | 外键匹配类型。 f = 全部 p = 部分 u = 简单(未指定) |
CONKEY | SMALLINT[] | 如果是表约束,则是约束控制的字段列表。 |
CONFKEY | SMALLINT[] | 如果是一个外键,是参考的字段的列表。 |
CONBIN | PG_NODE_TREE | 如果是检查约束,那就是其表达式的内部形式。 |
CONSRC | TEXT | 如果是检查约束,则是表达式的人类可读形式。 |
PG_CURSORS
列出了当前可用的游标。
名称 | 类型 | 描述 |
NAME | TEXT | 游标名。 |
STATEMENT | TEXT | 声明改游标时的查询语句。 |
IS_HOLDABLE | BOOLEAN | 如果该游标是持久的(就是在声明该游标的事务结束后仍然可以访问该游标)则为TRUE,否则为FALSE。 |
IS_BINARY | BOOLEAN | 如果该游标被声明为BINARY则为TRUE,否则为FALSE。 |
IS_SCROLLABLE | BOOLEAN | 如果该游标可以滚动(就是允许以不连续的方式检索)则为TRUE,否则为FALSE。 |
CREATION_TIME | TIMESTAMP WITH TIME ZONE | 声明该游标的时间戳。 |
PG_DATABASE
存储关于可用数据库的信息。
名称 | 类型 | 描述 |
DATNAME | NAME | 数据库名字。 |
DATDBA | OID | 数据库所有人,通常为其创建者。 |
ENCODING | INTEGER | 数据库的字符编码方式。 |
DATCOLLATE | NAME | 数据库使用的排序顺序。 |
DATCTYPE | NAME | 数据库使用的字符分类。 |
DATISTEMPLATE | BOOLEAN | 是否允许作为模板数据库。 |
DATALLOWCONN | BOOLEAN | 如果为假,则没有用户可以连接到这个数据库。这个字段用于保护template0数据库不被更改。 |
DATCONNLIMIT | INTEGER | 该数据库上允许的最大并发连接数,-1表示无限制。 |
DATLASTSYSOID | OID | 数据库里最后一个系统OID 。 |
DATFROZENXID | XID | 用于跟踪该数据库是否需要为了防止事务ID重叠而进行清理。 |
DATTABLESPACE | OID | 数据库的缺省表空间。 |
DATACL | ACLITEM[] | 访问权限。 |
PG_DB_ROLE_SETTING
存储数据库运行时每个角色与数据绑定的配置项的默认值 。
名称 | 类型 | 描述 |
SETDATABASE | OID | 配置项所对应的数据库,如果未指定数据库,则为0。 |
SETROLE | OID | 配置项所对应的角色,如果未指定角色,则为0。 |
SETCONFIG | TEXT[] | 运行时配置项的默认值。 |
PG_DEFAULT_ACL
存储为新建对象设置的初始权限。
名称 | 类型 | 描述 |
DEFACLROLE | OID | 与此权限相关的角色ID。 |
DEFACLNAMESPACE | OID | 与此权限相关的名字空间,如果没有,则为0。 |
DEFACLOBJTYPE | "CHAR" | 此权限的对象类型。 |
DEFACLACL | ACLITEM[] | 创建该类型时所拥有的访问权限。 |