问题报告 纠错本页面

34.22. domains

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

表 34-20. domains 字段

名字数据类型描述
domain_catalogsql_identifier包含这个域的数据库名(总是当前数据库)
domain_schemasql_identifier包含这个域的模式名
domain_namesql_identifier域的名字
data_typecharacter_data 如果这是一个内置类型,就是域的数据类型,如果他是某种数组(这时, 参阅视图element_types),就是ARRAY。 否则是USER-DEFINED(这个时候,类型在udt_name 和相关的字段里面标识。)
character_maximum_lengthcardinal_number 如果域是一个字符或者位串类型,这是定义的最大长度,其它数据类型或者没有声明最大长度,则为空。
character_octet_lengthcardinal_number 如果域有一个字符类型,这是最大可能的字节长度;其它所有的数据类型则为null。 最大字节长度取决于所声明的字符最大长度(见上文)和服务器的编码。
character_set_catalogsql_identifier用于PostgreSQL里一个不可用的特性
character_set_schemasql_identifier 
character_set_namesql_identifier用于PostgreSQL里一个不可用的特性
collation_catalogsql_identifier包含域的排序规则的数据库的名字(总是当前数据库),如果缺省或域的数据类型不可排序则为null。
collation_schemasql_identifier包含域的排序规则的模式的名字,如果缺省或域的数据类型不可排序则为null。
collation_namesql_identifier域的排序规则的名字,如果缺省或者域的数据类型不可排序则为null。
numeric_precisioncardinal_number 如果这个域有一个数值类型,那么这个字段包含(声明的或隐含的)用于这个字段的类型精度。 精度表示有效数据位的个数。可以用十进制表示,也可以用二进制表示,就像在numeric_precision_radix 字段里声明的那样。对于所有其它类型,这个字段是空。
numeric_precision_radixcardinal_number 如果这个域有一个数值类型,那么这个字段标识numeric_precisionnumeric_scale字段的数值的基数是多少。数值要么是 2 要么是 10。 对于所有其它数据类型,这个字段是空。
numeric_scalecardinal_number 如果这个域有一个准确的数值类型,那么这个字段包含(声明或者隐含的)本字段该类型的数值范围。 数值范围标志着小数点右边的有效位数。它可以是用十进制表示,也可以用二进制表示, 就像在numeric_precision_radix字段里声明的那样。对于所有其它数据类型, 这个字段是空。
datetime_precisioncardinal_number 如果data_type标识一个日期,时间,时间戳,或者间距类型, 该字段(明确的或隐含地)包含部分的域类型秒精度,就是说,小数位数保持到小数点后面。 对于所有其它的数据类型,该字段是null。
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总是为空,因为PostgreSQL的数组总是有无限的维数。
dtd_identifiersql_identifier 一个该域的数据类型描述符的标识符,在属于该域的所有数据类型描述符中是唯一的 (这个是琐事,因为一个域只包含一种数据类型)。这个主要用于和其它这样的标识符实例连接。 (这个标识符的具体格式没有定义,并且不保证在将来版本中保持一致。)