pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
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 |
如果该属性可能为 null,则为 YES;如果已知不能为 null,则为 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_precision 和 numeric_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 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 不支持的特性 |
关于某些列的详细信息,也可参见结构相似的视图第 37.16 节中的说明。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。