选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 系统目录 / 系统目录表

SYSTEM CATALOG系统目录表

pg_type

数据类型

系统目录表 引入 9.0(基线) 现存至 20 devel 4 次结构变更

关系 OID
1247
关系类型
r(普通表)
字段数
32
引入版本
9.0(收录基线)
版本状态
当前稳定版
结构变更
4 次

PostgreSQL 18 手册 官方文档 源码定义

版本轨迹

相对 PostgreSQL 17:描述更新 1 处。

目录pg_type存储有关数据类型的信息。 基类型和枚举类型(标量类型)使用CREATE TYPE创建,而域使用CREATE DOMAIN创建。 数据库中的每一个表都会有一个自动创建的复合类型,用于表示表的行结构。 也可以使用CREATE TYPE AS创建复合类型。

字段

PostgreSQL 18 的 32 个字段,按定义顺序排列。说明默认用本站手册的译文,没有译文的按英文原文显示。

字段 类型 说明
oid oidNOT NULL 行标识符
typname nameNOT NULL 数据类型的名字
typnamespace oidNOT NULL pg_namespace.oid 包含此类型的名字空间的OID
typowner oidNOT NULL pg_authid.oid 类型的拥有者
typlen smallintNOT NULL 对于一个固定尺寸的类型,typlen是该类型内部表示的字节数。 对于一个变长类型,typlen为负值。 -1表示一个“varlena”类型(具有长度字),-2表示一个以空值结尾的C字符串。
typbyval booleanNOT NULL typbyval判断内部例程传递这个类型的数值时是通过传值还是传引用。 如果typlen不是1、2或4(或者在Datum为8字节的机器上为8),因此typbyval最好是假。 变长类型总是传引用。注意即使长度允许传值, typbyval也可以为假。
typtype "char"NOT NULL typtype可以是: b表示一个基类型, c表示一个复合类型(例如一个表的行类型), d表示一个域, e表示一个枚举类型, p表示一个伪类型, r表示一个范围类型,或 m表示一个多范围类型。 另请参阅typrelid和typbasetype。
typcategory "char"NOT NULL typcategory是一种任意的数据类型分类,它被分析器用来决定哪种隐式转换“更好”。参见Table 52.65。
typispreferred booleanNOT NULL 如果此类型在它的typcategory中是一个更好的转换目标,此列为真
typisdefined booleanNOT NULL 如果此类型已被定义则为真,如果此类型只是一个表示还未定义类型的占位符则为假。 当typisdefined为假,除了类型名字、名字空间和OID之外什么都不能被依赖。
typdelim "char"NOT NULL 在分析数组输入时,分隔两个此类型值的字符。注意该分隔符是与数组元素数据类型相关联的, 而不是和数组的数据类型关联。
typrelid oidNOT NULL pg_class.oid 如果这是一个复合类型(见typtype),那么此列指向pg_class中定义对应表的项 (对于自由存在的复合类型,pg_class项并不表示一个表,但不管怎样该类型的pg_attribute项需要链接到它)。 对非复合类型此列为零。
typsubscript regprocNOT NULL pg_proc.oid 下标处理函数的 OID,如果该类型不支持下标则为零。 “真正的”数组类型的 typsubscript = array_subscript_handler,但其他类型也可能使用不同的处理函数来实现特定的下标行为。
typelem oidNOT NULL pg_type.oid 如果typelem不为零,则它标识pg_type中的另一行,该行定义了下标操作产生的类型。 如果typsubscript为零则该项为零。 但是,当typsubscript不为零时它也可以为零,如果处理机不需要typelem来决定下标结果类型。 注意typelem依赖被认为是表示该类型中的元素类型的物理包含;所以这个元素类型上的DDL变更可能会受到该类型存在的限制。
typarray oidNOT NULL pg_type.oid 如果typarray不是零,则它标识pg_type中的另一行,这一行是一个将此类型作为元素的“真的”数组类型
typinput regprocNOT NULL pg_proc.oid 输入转换函数(文本格式)
typoutput regprocNOT NULL pg_proc.oid 输出转换函数(文本格式)
typreceive regprocNOT NULL pg_proc.oid 输入转换函数(二进制格式),如果没有则为零
typsend regprocNOT NULL pg_proc.oid 输出转换函数(二进制格式),如果没有则为零
typmodin regprocNOT NULL pg_proc.oid 类型修改器输入函数,如果类型没有提供修改器则为零
typmodout regprocNOT NULL pg_proc.oid 类型修改器输出函数,或为零以使用标准格式
typanalyze regprocNOT NULL pg_proc.oid 自定义ANALYZE函数,零表示使用标准函数
typalign "char"NOT NULL typalign表示存储此类型值时所要求的对齐方式。 它适用于磁盘存储,以及该值在 PostgreSQL 内部的大多数表示形式。 当多个值连续存放时,例如在磁盘上完整行的表示中,这种类型的数据前会插入填充,使其从指定边界开始。 对齐参考点是该序列中第一个数据的起始位置。 可能的值为:
typstorage "char"NOT NULL 如果一个变长类型(typlen = -1)可被TOAST,typstorage说明这种类型的列应采取的默认策略。 可能的值是: x 是 toast-able 类型的常用选项。 注意m值也可以被移动到二级存储,但只能作为最后手段(e和x值会先被移动)。
typnotnull booleanNOT NULL typnotnull表示类型上的一个非空约束。只用于域。
typbasetype oidNOT NULL pg_type.oid 如果这是一个域(见typtype),则typbasetype标识该域所基于的类型。如果此类型不是域,则为 0。
typtypmod integerNOT NULL 域使用typtypmod来记录被应用于它们基类型的typmod(如果基类型不使用typmod,则为-1)。如果此类型不是一个域则为-1。
typndims integerNOT NULL 对于基于数组的域,typndims是数组维度数(即,typbasetype是一个数组类型)。对于不是基于数组的域的类型,此列为零。
typcollation oidNOT NULL pg_collation.oid typcollation指定此类型的排序规则。如果类型不支持排序规则,此列为零。 支持排序规则的基类型在这里会有一个非零值,典型值为DEFAULT_COLLATION_OID。 基于可应用排序规则类型的域,如果为其指定了排序规则 OID,则它的排序规则 OID 可以不同于其基类型。
typdefaultbin pg_node_tree 如果typdefaultbin非空,那么它就是该类型默认表达式的nodeToString()表示形式。此列只用于域。
typdefault text 如果某类型没有相关默认值,那么typdefault为空。如果typdefaultbin不为空,那么typdefault必须包含由typdefaultbin表示的默认表达式的人类可读版本。 如果typdefaultbin为空而typdefault不为空,则typdefault是该类型默认值的外部表示形式,它可以被交给该类型的输入转换器来产生一个常量。
typacl aclitem[] 访问权限,另请参阅Section 5.8

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的字段表。

  1. PostgreSQL 19 ← 18 仅描述更新

    2 处描述更新
    • typacl Access privileges; see Section 5.8 for details Access privileges; see Section 5.9 for details
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.65. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.70.
  2. PostgreSQL 18 ← 17 仅描述更新

    1 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.65. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.65.
  3. PostgreSQL 17 ← 16 仅描述更新

    2 处描述更新
    • typacl Access privileges; see Section 5.7 for details Access privileges; see Section 5.8 for details
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 53.65. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.65.
  4. PostgreSQL 15 ← 14 仅描述更新

    1 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 53.65.
  5. PostgreSQL 14 ← 13 结构变更

    typsubscript

    9 处描述更新
    • typanalyze Custom ANALYZE function, or 0 to use the standard function Custom ANALYZE function, or zero to use the standard function
    • typarray If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element If typarray is not zero then it identifies another row in pg_type, which is the “true” array type having this type as element
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63.
    • typelem If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines. If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply physical containment of the element type in this type; so DDL changes on the element type might be restricted by the presence of this type.
    • typmodin Type modifier input function, or 0 if type does not support modifiers Type modifier input function, or zero if type does not support modifiers
    • typmodout Type modifier output function, or 0 to use the standard format Type modifier output function, or zero to use the standard format
    • typreceive Input conversion function (binary format), or 0 if none Input conversion function (binary format), or zero if none
    • typsend Output conversion function (binary format), or 0 if none Output conversion function (binary format), or zero if none
    • typtype typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype. typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.
  6. PostgreSQL 13 ← 12 仅描述更新

    3 处描述更新
    • typalign typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row. typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are:
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.64. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63.
    • typstorage typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a “secondary” relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in “secondary” storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first). typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are: x is the usual choice for toast-able types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are moved first).
  7. PostgreSQL 12 ← 11 结构变更

    oid:隐式列 → 常规列

    4 处描述更新
    • oid Row identifier (hidden attribute; must be explicitly selected) Row identifier
    • typacl Access privileges; see GRANT and REVOKE for details Access privileges; see Section 5.7 for details
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.64.
    • typcollation typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have DEFAULT_COLLATION_OID here. A domain over a collatable type can have some other collation OID, if one was specified for the domain. typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a collatable type can have a collation OID different from its base type's, if one was specified for the domain.
  8. PostgreSQL 11 ← 10 仅描述更新

    1 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 52.63.
  9. PostgreSQL 10 ← 9.6 仅描述更新

    6 处描述更新
    • typalign typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note: For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row. typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all). Note For types used in system tables, it is critical that the size and alignment defined in pg_type agree with the way that the compiler will lay out the column in a structure representing a table row.
    • typarray If typarray is not 0 then it identifies another row in pg_type, which is the "true" array type having this type as element If typarray is not 0 then it identifies another row in pg_type, which is the “true” array type having this type as element
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 50-56. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be “preferred”. See Table 51.63.
    • typelem If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A "true" array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines. If typelem is not 0 then it identifies another row in pg_type. The current type can then be subscripted like an array yielding values of type typelem. A “true” array type is variable length (typlen = -1), but some fixed-length (typlen > 0) types also have nonzero typelem, for example name and point. If a fixed-length type has a typelem then its internal representation must be some number of values of the typelem data type with no other data. Variable-length array types have a header defined by the array subroutines.
    • typlen For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a "varlena" type (one that has a length word), -2 indicates a null-terminated C string. For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a variable-length type, typlen is negative. -1 indicates a “varlena” type (one that has a length word), -2 indicates a null-terminated C string.
    • typstorage typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a "secondary" relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in "secondary" storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first). typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the default strategy for attributes of this type should be. Possible values are p: Value must always be stored plain. e: Value can be stored in a “secondary” relation (if relation has one, see pg_class.reltoastrelid). m: Value can be stored compressed inline. x: Value can be stored compressed inline or stored in “secondary” storage. Note that m columns can also be moved out to secondary storage, but only as a last resort (e and x columns are moved first).
  10. PostgreSQL 9.6 ← 9.5 仅描述更新

    1 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 49-55. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 50-56.
  11. PostgreSQL 9.5 ← 9.4 仅描述更新

    1 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 48-53. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 49-55.
  12. PostgreSQL 9.4 ← 9.3 仅描述更新

    1 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 47-52. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 48-53.
  13. PostgreSQL 9.3 ← 9.2 仅描述更新

    2 处描述更新
    • oid Row identifier (hidden system attribute; explicitly select oid). Row identifier (hidden attribute; must be explicitly selected)
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 45-51. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 47-52.
  14. PostgreSQL 9.2 ← 9.1 结构变更

    typacl

    2 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 45-49. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 45-51.
    • typtype typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, or p for a pseudo-type. See also typrelid and typbasetype. typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type, p for a pseudo-type, or r for a range type. See also typrelid and typbasetype.
  15. PostgreSQL 9.1 ← 9.0 结构变更

    typcollation typdefaultbin:text → pg_node_tree

    3 处描述更新
    • typcategory typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 45-45. typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit casts should be "preferred". See Table 45-49.
    • typdefault typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which might be fed to the type's input converter to produce a constant. typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed to the type's input converter to produce a constant.
    • typndims typndims is the number of array dimensions for a domain that is an array (that is, typbasetype is an array type; the domain's typelem will match the base type's typelem). Zero for types other than domains over array types. typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero for types other than domains over array types.

字段矩阵

每个字段在 18 个收录版本里的存在情况;方格指向该版的字段表。「有变」指类型、可空、隐式或数组维数与上一版不同。

存在 有变 已移除 不存在

字段 9.09.19.29.39.49.59.61011121314151617181920
oid 存在 存在 存在 存在 存在 存在 存在 存在 存在 有变 存在 存在 存在 存在 存在 存在 存在 存在
typname 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typnamespace 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typowner 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typlen 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typbyval 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typtype 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typcategory 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typispreferred 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typisdefined 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typdelim 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typrelid 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typelem 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typarray 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typinput 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typoutput 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typreceive 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typsend 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typmodin 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typmodout 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typanalyze 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typalign 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typstorage 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typnotnull 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typbasetype 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typtypmod 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typndims 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typdefaultbin 存在 有变 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typdefault 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typcollation 不存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typacl 不存在 不存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
typsubscript 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 存在 存在 存在 存在 存在 存在 存在

系统列

每张表都有的 6 个系统列
  • tableoidoid-6
  • cmaxcid-5
  • xmaxxid-4
  • cmincid-3
  • xminxid-2
  • ctidtid-1

同类关系

关系 引入 字段 版本变动 最近变更
SYSTEM CATALOG 系统目录表 70 个
pg_aggregate 9.0基线 22 113 次
聚合函数 现存
pg_am 9.0基线 4 124 次
关系访问方法 现存
pg_amop 9.0基线 9 122 次
访问方法操作符 现存
pg_amproc 9.0基线 6 121 次
访问方法支持函数 现存
pg_attrdef 9.0基线 4 122 次
列默认值 现存
pg_attribute 9.0基线 25 189 次
表列(“属性”) 现存
pg_auth_members 9.0基线 7 161 次
授权标识符成员关系 现存
pg_authid 9.0基线 12 123 次
授权标识符(角色) 现存
pg_cast 9.0基线 6 121 次
转换(数据类型转换) 现存
pg_class 9.0基线 34 189 次
表、索引、序列、视图 (“关系”) 现存
pg_collation 9.1 12 175 次
排序规则(区域设置信息) 现存
pg_constraint 9.0基线 28 187 次
检查约束、唯一约束、主键约束、外键约束 现存
pg_conversion 9.0基线 8 121 次
编码转换信息 现存
pg_database 9.0基线 18 175 次
本数据库集簇中的数据库 现存
pg_db_role_setting 9.0基线 3
每角色和每数据库的设置 现存
pg_default_acl 9.0基线 5 121 次
对象类型的默认权限 现存
pg_depend 9.0基线 7
数据库对象间的依赖 现存
pg_description 9.0基线 4 9.51 次
数据库对象上的描述或注释 现存
pg_enum 9.0基线 4 122 次
枚举标签和值定义 现存
pg_event_trigger 9.3 7 121 次
事件触发器 现存
pg_extension 9.1 8 122 次
已安装扩展 现存
pg_foreign_data_wrapper 9.0基线 8 193 次
外部数据包装器定义 现存
pg_foreign_server 9.0基线 8 121 次
外部服务器定义 现存
pg_foreign_table 9.1 3
外部表信息 现存
pg_index 9.0基线 21 155 次
索引信息 现存
pg_inherits 9.0基线 4 141 次
表继承层次 现存
pg_init_privs 9.6 5
对象初始权限 现存
pg_language 9.0基线 9 121 次
编写函数的语言 现存
pg_largeobject 9.0基线 3 9.51 次
大对象的数据页 现存
pg_largeobject_metadata 9.0基线 3 121 次
大对象的元数据 现存
pg_namespace 9.0基线 4 121 次
模式 现存
pg_opclass 9.0基线 9 121 次
访问方法操作符类 现存
pg_operator 9.0基线 15 121 次
操作符 现存
pg_opfamily 9.0基线 5 121 次
访问方法操作符族 现存
pg_parameter_acl 15 3
已授予权限的配置参数 现存
pg_partitioned_table 10 8 111 次
表的分区键的信息 现存
pg_pltemplate 9.0基线 8 9.51 次
过程语言的模板数据 于 13 移除
pg_policy 9.5 8 122 次
行安全策略 现存
pg_proc 9.0基线 30 147 次
函数和过程 现存
pg_propgraph_element 19 14
属性图元素(顶点和边) 于 20 移除
pg_propgraph_element_label 19 3
属性图中元素与标签之间的链接 于 20 移除
pg_propgraph_label 19 3
属性图标签 于 20 移除
pg_propgraph_label_property 19 4
属性图中按标签区分的属性定义 于 20 移除
pg_propgraph_property 19 6
属性图属性 于 20 移除
pg_publication 10 11 195 次
用于逻辑复制的发布 现存
pg_publication_namespace 15 3
模式到发布映射 现存
pg_publication_rel 10 6 193 次
关系与发布的映射 现存
pg_range 9.2 12 192 次
范围类型的信息 现存
pg_replication_origin 9.5 2
已注册的复制源 现存
pg_rewrite 9.0基线 8 123 次
查询重写规则 现存
pg_seclabel 9.1 5 9.51 次
数据库对象上的安全标签 现存
pg_sequence 10 8
有关序列的信息 现存
pg_shdepend 9.0基线 7
共享对象上的依赖 现存
pg_shdescription 9.0基线 3 9.51 次
共享对象上的注释 现存
pg_shseclabel 9.2 4 9.51 次
共享数据库对象上的安全标签 现存
pg_statistic 9.0基线 31 122 次
规划器统计 现存
pg_statistic_ext 10 9 174 次
扩展的规划器统计信息(定义) 现存
pg_statistic_ext_data 12 6 152 次
扩展的规划器统计信息(已构建的统计信息) 现存
pg_subscription 10 23 197 次
逻辑复制订阅 现存
pg_subscription_rel 10 4 131 次
订阅的关系状态 现存
pg_tablespace 9.0基线 5 122 次
本数据库集簇内的表空间 现存
pg_transform 9.5 5 121 次
转换(将数据类型转换为过程语言需要的形式) 现存
pg_trigger 9.0基线 19 135 次
触发器 现存
pg_ts_config 9.0基线 5 121 次
文本搜索配置 现存
pg_ts_config_map 9.0基线 4
文本搜索配置的词元映射 现存
pg_ts_dict 9.0基线 6 121 次
文本搜索字典 现存
pg_ts_parser 9.0基线 8 121 次
文本搜索分析器 现存
pg_ts_template 9.0基线 5 121 次
文本搜索模板 现存
pg_type 9.0基线 32 144 次
数据类型 现存
pg_user_mapping 9.0基线 4 121 次
将用户映射到外部服务器 现存