历史版本。 PostgreSQL 12 已结束支持。 2024-11-21. 请参阅 当前版本手册.
36.23. domains #
视图 domains 包含当前数据库中定义的所有域。仅显示当前用户有权限访问的域(作为拥有者或具有某种权限)。
表 36.21. domains 列
| 名称 | 数据类型 | 描述 |
|---|---|---|
domain_catalog | sql_identifier | 包含该域的数据库名称(总是当前数据库) |
domain_schema | sql_identifier | 包含该域的模式名称 |
domain_name | sql_identifier | 域名称 |
data_type | character_data |
该域的数据类型如果是一种内置类型,这里是该域的数据类型;如果是某种数组(此种情况见视图 element_types),则为 ARRAY;否则为 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_precision 和 numeric_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 MONTH、DAY 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 | 该域的数据类型描述符的标识符,在属于同一域的数据类型描述符中是唯一的(这一点显然成立,因为一个域只包含一个数据类型描述符)。它主要用于与其他此类标识符实例进行连接。(标识符的具体格式没有定义,也不保证在未来版本中保持不变。) |