名字 | 类型 | 引用 | 形貌 |
oid | oid | 行标识符(隐藏属性; 必须明确选择) | |
relname | name | 表、索引、视图等的名字。 | |
relnamespace | oid | pg_namespace.oid | 包罗这个关系的名字空间(模式)的 OID |
reltype | oid | pg_type.oid | 假如有,则为对应这个表的行类型的数据类型的OID(索引为零,它们没有pg_type记录)。 |
reloftype | oid | pg_type.oid | 对于类型表,为底层复合类型的OID,对于所有其他关系为0 |
relowner | oid | pg_authid.oid | 关系所有者 |
relam | oid | pg_am.oid | 假如行是索引,那么就是所用的访问模式(B-tree, hash 等等) |
relfilenode | oid | 这个关系在磁盘上的文件的名字,0表示这是一个"映射的"关系, 它的文件名取决于行级别的状态 | |
reltablespace | oid | pg_tablespace.oid | 这个关系存储所在的表空间。假如为零,则意味着使用该数据库的缺省表空间。 假如关系在磁盘上没有文件,则这个字段没有什么意义。 |
relpages | int4 | 以页(大小为BLCKSZ)的此表在磁盘上的情势的大小。 它只是规划器用的一个近似值,是由VACUUM,ANALYZE 和几个 DDL 命令,比如CREATE INDEX更新。 | |
reltuples | float4 | 表中行的数目。只是规划器使用的一个估计值,由VACUUM,ANALYZE 和几个 DDL 命令,比如CREATE INDEX更新。 | |
relallvisible | int4 | 在表的可见映射中标记所有可见的页的数目。只是规划器使用的一个估计值, 由VACUUM,ANALYZE 和几个 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)是共享的。 | |
relpersistence | char | p = permanent table(永久表), u = unlogged table(未加载的表), t = temporary table (临时表) | |
relkind | char | r = ordinary table(普通表), i = index(索引), S = sequence(序列), v = view(视图), m = materialized view(物化视图), c = composite type(复合类型), t = TOAST table(TOAST 表), f = foreign table(外部表) | |
relnatts | int2 | 关系中用户字段数目(除了系统字段以外)。在pg_attribute 里肯定有相同数目对应行。又见pg_attribute.attnum。 | |
relchecks | int2 | 表里的CHECK束缚的数目;参阅pg_constraint表 | |
relhasoids | bool | 假如为关系中每行都生成一个 OID 则为真 | |
relhaspkey | bool | 假如这个表有一个(或者曾经有一个)主键,则为真。 | |
relhasrules | bool | 如表有(或曾经有)规则就为真;参阅pg_rewrite表 | |
relhastriggers | bool | 假如表有(或者曾经有)触发器,则为真;参阅pg_trigger表 | |
relhassubclass | bool | 假如有(或者曾经有)任何继续的子表,为真。 | |
relispopulated | bool | 假如关系是添补的则为真(对所有关系为真,除了一些物化视图) | |
relfrozenxid | xid | 该表中所有在这个之前的事件 ID 已经被一个固定的("frozen")事件 ID 更换。 这用于跟踪该表是否需要为了防止事件 ID 重叠或者答应收缩pg_clog 而举行整理。假如该关系不是表则为零(InvalidTransactionId)。 | |
relminmxid | xid | 该表中所有在这个之前的多事件 ID 已经被一个事件 ID 更换。 这用于跟踪该表是否需要为了防止多事件 ID 重叠或者答应收缩pg_clog 而举行整理。假如该关系不是表则为零(InvalidTransactionId)。 | |
relacl | aclitem[] | 访问权限。参阅GRANT和REVOKE获取具体信息。 | |
reloptions | text[] | 访问方法特定的选项,使用"keyword=value"格式的字符串 | |
名字 | 数据类型 | 形貌 |
table_catalog | sql_identifier | 包罗表的数据库的名字(总是当前数据库) |
table_schema | sql_identifier | 包罗表的模式的名字 |
table_name | sql_identifier | 表的名字 |
column_name | sql_identifier | 字段的名字 |
ordinal_position | cardinal_number | 字段在表中的位置序号(从 1 开始) |
column_default | character_data | 字段的缺省表达式 |
is_nullable | yes_or_no | 假如字段大概为空,则为YES,假如知道它不能为空,则为NO。 非空束缚是我们得知字段不能为空的一个手段,但是还大概有其它的。 |
data_type | character_data | 假如它是一个内置类型,那么为字段的数据类型,假如它是某种数组, 则为ARRAY(在这种情况下,参阅视图element_types), 否则就是USER-DEFINED(这时,类型界说在udt_name和相干的字段上)。 假如字段基于域,这个字段引用底层域类型(而域是在domain_name和相干字段里界说的)。 |
character_maximum_length | cardinal_number | 假如data_type标识一个字符或者位串类型,那么就是声明的最大长度; 假如是其它类型或者没有界说最大长度,就是空。 |
character_octet_length | cardinal_number | 假如data_type标识一个字符类型,就是以字节记的最大大概长度; 所有其它类型都是空。最大字节长度取决于声明的字节最大长度(见上文)和服务器编码。 |
numeric_precision | cardinal_number | 假如data_type标识一个数值类型,这个字段包罗 (声明的或隐含的)这个字段的数据类型的精度。精度表示有效小数位的长度。 它可以用十进制或者二进制来表示,这一点在numeric_precision_radix 字段里声明。对于其它数据类型,这个字段是空。 |
numeric_precision_radix | cardinal_number | 假如data_type标识一个数值类型,这个字段标识字段 numeric_precision和numeric_scale 里的数据是多少进制的。值要么是 2 要么是 10。对于所有其它数据类型,这个字段是空。 |
numeric_scale | cardinal_number | 假如data_type标识一个精确的数值类型, 那么这个字段包罗(声明的或者隐含的)这个字段上这个类型的数值范围。 数值范围表明小数点右边的有效小数位的数目。它可以用十进制(10为基) 或者二进制(二为基)来表示,正如字段numeric_precision_radix 声明的那样。对于所有其它数据类型,这个字段是空。 |
datetime_precision | cardinal_number | 假如data_type标识一个日期,时间,时间戳,或者间隔类型, 该字段(公开地或隐含地)包罗该字段类型的小数秒精度,就是说, 小数位数保持到小数点后面。对于所有其它的数据类型,该字段是null。 |
interval_type | character_data | 假如data_type标识一个间隔类型,这个字段包罗这个字段时间间隔声明, 比方,YEAR TO MONTH, DAY TO SECOND等等。 假如没有指定字段限制(也就是,间隔接受所有字段),或对于所有其他数据类型,这个字段是null。 |
interval_precision | cardinal_number | 用于一个PostgreSQL不可用的特性 (参阅datetime_precision获取间隔类型字段的小数秒精度) |
character_set_catalog | sql_identifier | 用于PostgreSQL里一个不可用的特性 |
character_set_schema | sql_identifier | 用于PostgreSQL里一个不可用的特性 |
character_set_name | sql_identifier | 用于PostgreSQL里一个不可用的特性 |
collation_catalog | sql_identifier | 包罗该字段的排序规则的数据库的名字(总是当前数据库),缺省或者字段的数据类型不可排序时为null。 |
collation_schema | sql_identifier | 包罗该字段的排序规则的模式的名字,缺省或者字段的数据类型不可排序时为null。 |
collation_name | sql_identifier | 字段的排序规则的名字,缺省或者字段的数据类型不可排序时为null。 |
domain_catalog | sql_identifier | 假如字段是域类型,就是该域界说所在的数据库的名字(总是当前数据库),否则为null。 |
domain_schema | sql_identifier | 假如字段是域类型,就是域界说所在的模式的名字,否则为null。 |
domain_name | sql_identifier | 假如字段是域类型,就是该域的名字,否则为null。 |
udt_catalog | sql_identifier | 这个字段数据类型(假如实用,就是底层域类型)界说所在的数据库的名字(总是当前数据库)。 |
udt_schema | sql_identifier | 这个字段数据类型(假如实用,就是底层域类型)界说所在的模式名字。 |
udt_name | sql_identifier | 这个字段数据类型(假如实用,就是底层域类型)的名字。 |
scope_catalog | sql_identifier | 用于PostgreSQL里一个不可用的特性 |
scope_schema | sql_identifier | 用于PostgreSQL里一个不可用的特性 |
scope_name | sql_identifier | 用于PostgreSQL里一个不可用的特性 |
maximum_cardinality | cardinal_number | 总是空,因为在PostgreSQL里数组总是有无限的最大维数 |
dtd_identifier | sql_identifier | 一个该字段的数据类型形貌符的标识符,在属于这个表中的所有的数据类型形貌符中唯一。 这个字段主要用于和其它如许的标识符实例毗连。 (这个标识符的确切格式没有界说并且不保证在将来的版本中保持一样。) |
is_self_referencing | yes_or_no | 用于PostgreSQL里一个不可用的特性 |
is_identity | yes_or_no | 用于PostgreSQL里一个不可用的特性 |
identity_generation | character_data | 用于PostgreSQL里一个不可用的特性 |
identity_start | character_data | 用于PostgreSQL里一个不可用的特性 |
identity_increment | character_data | 用于PostgreSQL里一个不可用的特性 |
identity_maximum | character_data | 用于PostgreSQL里一个不可用的特性 |
identity_minimum | character_data | 用于PostgreSQL里一个不可用的特性 |
identity_cycle | yes_or_no | 用于PostgreSQL里一个不可用的特性 |
is_generated | character_data | 用于PostgreSQL里一个不可用的特性 |
generation_expression | character_data | 用于PostgreSQL里一个不可用的特性 |
is_updatable | yes_or_no | 假如字段为可更新则为YES,否则为NO (基表中的字段总是可以更新的,而试图中的字段则不一定) |
名称 | 返回类型 | 形貌 |
format_type(type_oid, typemod) | text | 得到一个数据类型的 SQL 名字 |
pg_get_constraintdef(constraint_oid) | text | 得到一个束缚的界说 |
pg_get_constraintdef(constraint_oid, pretty_bool) | text | 得到一个束缚的界说 |
pg_get_expr(pg_node_tree, relation_oid) | text | 反编译一个表达式的内部情势,假定此中的任何 Var 指向由第二个参数指示的关系 |
pg_get_expr(pg_node_tree, relation_oid, pretty_bool) | text | 反编译一个表达式的内部情势,假定此中的任何 Var 指向由第二个参数指示的关系 |
pg_get_functiondef(func_oid) | text | 得到一个函数的界说 |
pg_get_function_arguments(func_oid) | text | 得到一个函数界说的参数列表(带有默认值) |
pg_get_function_identity_arguments(func_oid) | text | 得到标识一个函数的参数列表(不带默认值) |
pg_get_function_result(func_oid) | text | 得到函数的RETURNS子句 |
pg_get_indexdef(index_oid) | text | 得到索引的CREATE INDEX命令 |
pg_get_indexdef(index_oid, column_no, pretty_bool) | text | 得到索引的CREATE INDEX命令,或者当column_no为非零时只得到一个索引列的界说 |
pg_get_keywords() | setof record | 得到 SQL 关键字的列表及其分类 |
pg_get_ruledef(rule_oid) | text | 得到规则的CREATE RULE命令 |
pg_get_ruledef(rule_oid, pretty_bool) | text | 得到规则的CREATE RULE命令 |
pg_get_serial_sequence(table_name, column_name) | text | 得到一个serial、smallserial或bigserial列使用的序列的名称 |
pg_get_triggerdef(trigger_oid) | text | 得到触发器的CREATE [ CONSTRAINT ] TRIGGER命令 |
pg_get_triggerdef(trigger_oid, pretty_bool) | text | 得到触发器的CREATE [ CONSTRAINT ] TRIGGER命令 |
pg_get_userbyid(role_oid) | name | 得到给定 OID 指定的角色名 |
pg_get_viewdef(view_name) | text | 得到视图或物化视图的底层SELECT命令(已废弃) |
pg_get_viewdef(view_name, pretty_bool) | text | 得到视图或物化视图的底层SELECT命令(已废弃) |
pg_get_viewdef(view_oid) | text | 得到视图或物化视图的底层SELECT命令 |
pg_get_viewdef(view_oid, pretty_bool) | text | 得到视图或物化视图的底层SELECT命令 |
pg_get_viewdef(view_oid, wrap_column_int) | text | 得到视图或物化视图的底层SELECT命令;带域的行被包装成指定的列数,并隐含了优质打印 |
pg_options_to_table(reloptions) | setof record | 得到存储选项的名称/值对的集合 |
pg_tablespace_databases(tablespace_oid) | setof oid | 得到在该表空间中有对象的数据库的 OID 的集合 |
pg_tablespace_location(tablespace_oid) | text | 得到这个表空间所在的文件系统的路径 |
pg_typeof(any) | regtype | 得到任意值的数据类型 |
collation for (any) | text | 得到该参数的排序规则 |
to_regclass(rel_name) | regclass | 得到命名关系的OID |
to_regproc(func_name) | regproc | 得到命名函数的OID |
to_regprocedure(func_name) | regprocedure | 得到命名函数的OID |
to_regoper(operator_name) | regoper | 得到命名利用符的OID |
to_regoperator(operator_name) | regoperator | 得到命名利用符的OID |
to_regtype(type_name) | regtype | 得到命名类型的OID |
to_regnamespace(schema_name) | regnamespace | 得到命名模式的OID |
to_regrole(role_name) | regrole | 得到命名角色的OID |
| | |