Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

35.6. attributes #

视图 attributes 中包含关于数据库中定义的复合数据类型属性的信息。(请注意,此视图不会提供有关表列的信息,而在 PostgreSQL 语境中,表列有时称为属性。)只有当前用户有权访问的属性才会显示(通过成为类型的所有者或拥有该类型的某些权限)。

表 35.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

如果属性可能为 null,则为 YES;如果属性已知不为 null,则为 NO

data_type character_data

如果属性是内置类型,则为属性的数据类型;如果属性是某种数组(在这种情况下,请参见视图 element_types),则为 ARRAY;否则为 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

包含属性校对的架构名称,如果缺省或属性的数据类型不可校对,则为空

collation_name sql_identifier

属性的校对名称,如果缺省或属性的数据类型不可校对,则为空

numeric_precision cardinal_number

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

numeric_precision_radix cardinal_number

如果 data_type 标识数字类型,则此列将指示 numeric_precisionnumeric_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 MONTHDAY 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

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

dtd_identifier sql_identifier

属性数据类型描述符的标识符,在属于复合类型的数据类型描述符中是唯一的。这对于与这些标识符的其他实例联接非常有用。(标识符的具体格式未定义,并且不能保证在以后的版本中保持不变。)

is_derived_reference_attribute yes_or_no

适用于 PostgreSQL 中不可用的功能


另请参见 第 35.17 节,这是一个类似结构的视图,以获取有关部分列的更多信息。