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_precisionnumeric_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 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 总是为空,因为PostgreSQL的数组总是有无限的维数。
dtd_identifier sql_identifier 一个该域的数据类型描述符的标识符,在属于该域的所有数据类型描述符中是唯一的 (这个是琐事,因为一个域只包含一种数据类型)。这个主要用于和其它这样的标识符实例连接。 (这个标识符的具体格式没有定义,并且不保证在将来版本中保持一致。)