2024 年 9 月 26 日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

35.23. domains #

视图 domains 包含当前数据库中定义的所有。只显示当前用户有权访问的那些域(通过作为所有者或拥有某些权限)。

表 35.21. domains

列 类型

描述

domain_catalog sql_identifier

包含域的数据库名称(始终是当前数据库)

domain_schema sql_identifier

包含域的模式名称

domain_name sql_identifier

域名称

data_type character_data

域的数据类型,如果它是内置类型,或者 ARRAY 如果它是某个数组(在这种情况下,请参见视图 element_types),否则为 USER-DEFINED(在这种情况下,类型在 udt_name 和相关列中标识)。

character_maximum_length cardinal_number

如果域具有字符或位字符串类型,则为声明的最大长度;对于所有其他数据类型或未声明最大长度时为 null。

character_octet_length cardinal_number

如果域具有字符类型,则为数据项在八位字节(字节)中的最大可能长度;对于所有其他数据类型为 null。最大八位字节长度取决于声明的字符最大长度(见上文)和服务器编码。

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

numeric_precision cardinal_number

如果域具有数值类型,则此列包含该域类型的(声明或隐式)精度。精度表示有效数字的数量。它可以以小数(以 10 为底)或二进制(以 2 为底)形式表示,如列 numeric_precision_radix 中指定。对于所有其他数据类型,此列为 null。

numeric_precision_radix cardinal_number

如果域具有数值类型,则此列指示列 numeric_precisionnumeric_scale 中的值以何种基数表示。该值为 2 或 10。对于所有其他数据类型,此列为 null。

numeric_scale cardinal_number

如果域具有精确数值类型,则此列包含该域类型的(声明或隐式)比例。比例表示小数点右侧的有效数字数量。它可以以小数(以 10 为底)或二进制(以 2 为底)形式表示,如列 numeric_precision_radix 中指定。对于所有其他数据类型,此列为 null。

datetime_precision cardinal_number

如果 data_type 标识日期、时间、时间戳或间隔类型,则此列包含该域类型的(声明或隐式)小数秒精度,即在秒值的小数点后维护的小数位数。对于所有其他数据类型,此列为 null。

interval_type character_data

如果 data_type 标识间隔类型,则此列包含指定该域包含哪些字段的间隔,例如,YEAR TO MONTHDAY TO SECOND 等。如果未指定任何字段限制(即间隔接受所有字段),以及对于所有其他数据类型,此字段为 null。

interval_precision cardinal_number

适用于PostgreSQL中不可用的功能(有关间隔类型域的小数秒精度,请参见 datetime_precision

domain_default character_data

域的默认表达式

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

始终为 null,因为数组在PostgreSQL中始终具有无限的最大基数

dtd_identifier sql_identifier

域的数据类型描述符的标识符,在属于该域的数据类型描述符中是唯一的(这是微不足道的,因为域只包含一个数据类型描述符)。这主要用于与其他此类标识符实例连接。(标识符的具体格式未定义,并且不能保证在将来的版本中保持不变。)


提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符或需要进一步澄清,请使用此表格报告文档问题。