Postgresql 中文操作指南
37.6. attributes #
attributes 视图包含数据库中定义的复合数据类型的属性信息。(请注意,该视图不会提供有关表列的信息,在 PostgreSQL 上下文中这些表列有时称为属性。)仅显示当前用户有权访问的属性(通过拥有该类型或在该类型上拥有某些权限的方式)。
Table 37.4. attributes Columns
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 (属性可能为 Null 时), NO (已知不为 Null 时)。 |
data_type character_data 属性的数据类型,如果是内置类型,则为 ARRAY ;如果是数组,则为 @{s22)(在这种情况下,请参见视图 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 标识数字类型,则此列包含此属性类型的(声明或隐式)精度。精度表示有效数字的位数。它可以根据列 numeric_precision_radix 中的说明,以十进制(基数 10)或二进制(基数 2)表示。对于所有其他数据类型,此列为 null。 |
numeric_precision_radix cardinal_number 如果 data_type 标识数值类型,则此列显示 numeric_precision 和 numeric_scale 列中值的表达基数。值为 2 或 10。对于所有其他数据类型,此列为 null。 |
numeric_scale cardinal_number 如果 data_type 标识精确数字类型,则此列包含此属性类型的(声明或隐式)比例。比例表示小数点右侧有效数字的位数。它可以根据列 numeric_precision_radix 中的说明,以十进制(基数 10)或二进制(基数 2)表示。对于所有其他数据类型,此列为 null。 |
datetime_precision cardinal_number 如果 data_type 标识日期、时间、时间戳或间隔类型,则此列包含此属性类型的(声明或隐式)秒小数位精度,即在秒值中十进制点后保留的小数位数。对于所有其他数据类型,此列为 null。 |
interval_type character_data 如果 data_type 标识间隔类型,则此列包含此属性包含的间隔规范的字段,例如, YEAR TO MONTH 、 DAY 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 中不可用的功能 |
另请参阅 Section 37.17,这是一个同样结构化的视图,以进一步了解其中部分列。