PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 34. 信息模式 | 下一页

# 34.22. `domains`

视图`domains`包含定义在当前数据库中的所有域。 只有当前用户有权访问的域才显示（通过成为其所有者或有某些权限）。

表 34-20. `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` | 如果域是一个字符或者位串类型，这是定义的最大长度，其它数据类型或者没有声明最大长度，则为空。
`character_octet_length` | `cardinal_number` | 如果域有一个字符类型，这是最大可能的字节长度；其它所有的数据类型则为null。 最大字节长度取决于所声明的字符最大长度（见上文）和服务器的编码。
`character_set_catalog` | `sql_identifier` | 用于PostgreSQL里一个不可用的特性
`character_set_schema` | `sql_identifier` |
`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` | 如果这个域有一个数值类型，那么这个字段包含（声明的或隐含的）用于这个字段的类型精度。 精度表示有效数据位的个数。可以用十进制表示，也可以用二进制表示，就像在`numeric_precision_radix` 字段里声明的那样。对于所有其它类型，这个字段是空。
`numeric_precision_radix` | `cardinal_number` | 如果这个域有一个数值类型，那么这个字段标识`numeric_precision`和 `numeric_scale`字段的数值的基数是多少。数值要么是 2 要么是 10。 对于所有其它数据类型，这个字段是空。
`numeric_scale` | `cardinal_number` | 如果这个域有一个准确的数值类型，那么这个字段包含（声明或者隐含的）本字段该类型的数值范围。 数值范围标志着小数点右边的有效位数。它可以是用十进制表示，也可以用二进制表示， 就像在`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`获取间隔类型域的小数秒精度）
`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` | 总是为空，因为PostgreSQL的数组总是有无限的维数。
`dtd_identifier` | `sql_identifier` | 一个该域的数据类型描述符的标识符，在属于该域的所有数据类型描述符中是唯一的 （这个是琐事，因为一个域只包含一种数据类型）。这个主要用于和其它这样的标识符实例连接。 （这个标识符的具体格式没有定义，并且不保证在将来版本中保持一致。）

上一页 | 起始页 | 下一页
`domain_udt_usage` | 上一级 | `element_types`