PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

35.6. attributes #

视图 attributes 包含关于在数据库中定义的复合数据 类型的属性的信息。 (注意,这个视图不给出关于表列的信息, 表列在 PostgreSQL 语境中有时也被称为属性。) 只显示当前用户有权访问的那些属性 (通过作为该类型的属主或拥有它的某些特权)。

Table 35.4. \1 字段列说明

Column Type

Description

udt_catalog sql_identifier

包含该数据类型的数据库的名称(总是当前数据库)

udt_schema sql_identifier

包含该数据类型的模式的名字

udt_name sql_identifier

该数据类型的名称

attribute_name sql_identifier

该属性的名称

ordinal_position cardinal_number

该属性在数据类型中的序号位置(从 1 开始计数)

attribute_default character_data

该属性的默认表达式

is_nullable yes_or_no

如果该属性可能为空则为 YES;如果已知不可为空则为 NO。

data_type character_data

该属性的数据类型(如果是内建类型);如果它是某种数组则为 ARRAY(那种情况下请参见视图 element_types);否则为 USER-DEFINED(那种情况下,该类型在 attribute_udt_name 及相关列中 标识)。

character_maximum_length cardinal_number

如果 data_type 标识一个字符或位串类型, 是声明中的最大长度;对其他所有数据类型或未声明最大长度时 为空。

character_octet_length cardinal_number

如果 data_type 标识一个字符类型, 是一个 datum 以八位组(字节)计的最大可能长度; 对其他所有数据类型为空。 最大八位组长度取决于声明的字符最大长度 (见上文)和服务器编码。

character_set_catalog sql_identifier

适用于 PostgreSQL 中不可用的特性

character_set_schema sql_identifier

适用于 PostgreSQL 中不可用的特性

character_set_name sql_identifier

适用于 PostgreSQL 中不可用的特性

collation_catalog sql_identifier

包含该属性排序规则的数据库的名称 (总是当前数据库);如果为默认或该属性的数据类型不可 排序则为空

collation_schema sql_identifier

包含该属性排序规则的模式的名字, 如果为默认或该属性的数据类型不可排序则为 空

collation_name sql_identifier

该属性的排序规则的名称,如果为默认或该属性的数据类型不可 排序则为空

numeric_precision cardinal_number

如果 data_type 标识一个数值类型, 此列包含该属性所用类型的 (声明或隐含的)精度。 精度表示有效数字的位数。 它可以按十进制(以 10 为底)或二进制(以 2 为底)表示, 如列 numeric_precision_radix 所指定。 对其他所有数据类型,此列为空。

numeric_precision_radix cardinal_number

如果 data_type 标识一个数值类型, 此列指示列 numeric_precision 和 numeric_scale 中的值以哪种进制表示。 取值为 2 或 10。 对其他所有数据类型,此列为空。

numeric_scale cardinal_number

如果 data_type 标识一个精确数值类型, 此列包含该属性所用类型的 (声明或隐含的)标度。 标度表示小数点右侧的有效数字位数。 它可以按十进制(以 10 为底)或二进制(以 2 为底)表示, 如列 numeric_precision_radix 所指定。 对其他所有数据类型,此列为空。

datetime_precision cardinal_number

如果 data_type 标识日期、时间、时间戳或间隔 类型,此列包含该属性所用类型的 (声明或隐含的)小数秒精度, 也就是秒值中小数点之后保留的十进制位数。 对其他所有数据类型,此列为空。

interval_type character_data

如果 data_type 标识一个间隔类型, 此列包含针对该属性的间隔包含哪些字段的说明, 例如 YEAR TO MONTH、 DAY TO SECOND 等。 如果未指定字段限制 (即该间隔接受全部字段), 并且对所有其他数据类型,此字段为空。

interval_precision cardinal_number

适用于 PostgreSQL 中不可用的特性 (间隔类型属性的小数秒精度见 datetime_precision)

attribute_udt_catalog sql_identifier

定义该属性数据类型的数据库的名称 (总是当前数据库)

attribute_udt_schema sql_identifier

定义该属性数据类型的模式的名字

attribute_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

该属性的数据类型描述符的标识符,在与该复合类型相关的数据 类型描述符之中唯一。 这主要用于与其他此类标识符的实例进行连接。 (标识符的具体格式未定义,也不保证在未来的版本中保持 不变。)

is_derived_reference_attribute yes_or_no

适用于 PostgreSQL 中不可用的特性


关于其中一些列的更多信息,另见结构类似的视图 Section 35.17。