🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 34.22\. `domains` 视图`domains`包含定义在当前数据库中的所有域。 只有当前用户有权访问的域才显示(通过成为其所有者或有某些权限)。 **Table 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` | 一个该域的数据类型描述符的标识符,在属于该域的所有数据类型描述符中是唯一的 (这个是琐事,因为一个域只包含一种数据类型)。这个主要用于和其它这样的标识符实例连接。 (这个标识符的具体格式没有定义,并且不保证在将来版本中保持一致。) |