37.22. domains

视图domains包含当前数据库中定义的所有域。仅显示当前用户有权访问的那些域(通过成为所有者或具有某些特权的方式)。

表 37.20. domains

NameData TypeDescription
domain_catalogsql_identifier包含域的数据库的名称(总是当前数据库)
domain_schemasql_identifier包含域的架构的名称
domain_namesql_identifier网域名称
data_typecharacter_data域的数据类型(如果是内置类型)或ARRAY(如果它是某个数组)(在这种情况下,请参见视图element_types),否则为USER-DEFINED(在这种情况下,该类型在udt_name和关联的列中标识) 。
character_maximum_lengthcardinal_number如果域具有字符或位字符串类型,则声明的最大长度;对于所有其他数据类型,或者如果未声明最大长度,则为 null。
character_octet_lengthcardinal_number如果域具有字符类型,则数据的最大可能长度以八位字节(字节)为单位;所有其他数据类型为 null。最大八位位组长度取决于声明的字符最大长度(请参见上文)和服务器编码。
character_set_catalogsql_identifier适用于 PostgreSQL 中不可用的功能
character_set_schemasql_identifier适用于 PostgreSQL 中不可用的功能
character_set_namesql_identifier适用于 PostgreSQL 中不可用的功能
collation_catalogsql_identifier包含域排序规则的数据库的名称(总是当前数据库),如果默认或域的数据类型不可排序,则为 null
collation_schemasql_identifier包含域排序规则的模式名称,如果默认或域的数据类型不可排序,则为 null
collation_namesql_identifier域排序规则的名称,如果默认或域的数据类型不可排序,则为 null
numeric_precisioncardinal_number如果域具有数字类型,则此列包含此域的(声明的或隐式的)精度。精度表示有效位数。可以用十进制(以 10 为底)或二进制(以 2 为底)来表示,如numeric_precision_radix列中所指定。对于所有其他数据类型,此列为空。
numeric_precision_radixcardinal_number如果域具有数字类型,则此列指示表示numeric_precisionnumeric_scale列中的值所基于的基数。该值为 2 或 10.对于所有其他数据类型,此列为空。
numeric_scalecardinal_number如果域具有精确的数字类型,则此列包含此域的类型的(声明的或隐式的)标度。比例尺指示小数点右边的有效数字位数。可以用十进制(以 10 为底)或二进制(以 2 为底)来表示,如numeric_precision_radix列中所指定。对于所有其他数据类型,此列为空。
datetime_precisioncardinal_number如果data_type标识日期,时间,时间戳或间隔类型,则此列包含此域类型的(声明的或隐式的)小数秒精度,即秒值中小数点后保留的小数位数。对于所有其他数据类型,此列为空。
interval_typecharacter_data如果data_type标识间隔类型,则此列包含该间隔包含在该域中的规范,例如YEAR TO MONTHDAY TO SECOND等。如果未指定任何字段限制(即间隔接受所有字段),并且所有其他字段均未指定数据类型,此字段为 null。
interval_precisioncardinal_number适用于 PostgreSQL 中不可用的功能(有关间隔类型域的小数秒精度,请参见datetime_precision)
domain_defaultcharacter_data域的默认表达式
udt_catalogsql_identifier定义域数据类型的数据库的名称(总是当前数据库)
udt_schemasql_identifier在其中定义域数据类型的架构的名称
udt_namesql_identifier域数据类型的名称
scope_catalogsql_identifier适用于 PostgreSQL 中不可用的功能
scope_schemasql_identifier适用于 PostgreSQL 中不可用的功能
scope_namesql_identifier适用于 PostgreSQL 中不可用的功能
maximum_cardinalitycardinal_number始终为 null,因为数组在 PostgreSQL 中始终具有无限的最大基数
dtd_identifiersql_identifier域的数据类型 Descriptors 的标识符,在与该域相关的数据类型 Descriptors 中是唯一的(这很简单,因为一个域仅包含一个数据类型 Descriptors)。这主要用于与此类标识符的其他实例结合。 (未定义标识符的特定格式,并且不能保证在将来的版本中保持不变.)