Skip to content

37.6.attributes#

视图attributes包含有关数据库中定义的复合数据类型的属性的信息。(请注意,该视图不提供有关表列的信息,在 PostgreSQL 上下文中,表列有时称为属性。)仅显示当前用户有权访问的那些属性(通过拥有或对该类型拥有某种权限)。

表 37.4.attributes

列类型

描述

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 标识字符或位字符串类型,则为声明的最大长度;对于所有其他数据类型或未声明最大长度,则为 null。

character_octet_length cardinal_number

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

character_set_catalog sql_identifier

适用于 PostgreSQL 中不可用的功能

character_set_schema sql_identifier

适用于 PostgreSQL 中不可用的功能

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

如果 data_type 标识数字类型,则此列包含此属性类型的(声明或隐式)精度。精度表示有效数字的位数。它可以用十进制(基数 10)或二进制(基数 2)表示,如列 numeric_precision_radix 中指定。对于所有其他数据类型,此列为 null。

numeric_precision_radix cardinal_number

如果 data_type 标识数字类型,则此列指示列 numeric_precisionnumeric_scale 中的值以哪个基数表示。该值为 2 或 10。对于所有其他数据类型,此列为 null。

numeric_scale cardinal_number

如果 data_type 标识精确数字类型,则此列包含此属性类型的(声明或隐式)刻度。刻度表示小数点右侧的有效数字位数。它可以用十进制(基数 10)或二进制(基数 2)表示,如列 numeric_precision_radix 中指定。对于所有其他数据类型,此列为 null。

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

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

始终为 null,因为在 PostgreSQL 中,数组始终具有无限的最大基数

dtd_identifier sql_identifier

列的数据类型描述符的标识符,在属于表的那些数据类型描述符中是唯一的。这主要用于与此类标识符的其他实例连接。(标识符的特定格式未定义,并且不保证在未来版本中保持不变。)

is_derived_reference_attribute yes_or_no

适用于 PostgreSQL 中不可用的功能

另请参阅第 37.17 节中的类似结构视图,以获取有关某些列的更多信息。