PostgreSQL 9.3.1 中文手册 | ||||
---|---|---|---|---|
上一页 | 上一级 | 章 34. 信息模式 | 下一页 |
视图attributes包含有关在数据库中定义的复合数据类型的属性信息。 (注意,视图不会提供表字段的信息,在PostgreSQL环境中有时被叫做属性。) 只有当前用户有权限时才显示这些属性(通过成为它的所有者或者在这个类型上有某些权限)。
表 34-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识别一个字符类型, 那么最大可能长度在一个数据的字节(bytes)中;对于所有其它的数据类型为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标识一个数字类型,那么该字段 (隐含地或者公开地)包含属性类型的精度。该精度表明了有效数字的位数。 它可以用在十进制(base 10)或者二进制(base 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标识一个精确的数字类型,那么该字段 (公开地或隐含地)包含属性类型的数值范围。该数值范围表明了小数点右边有效数字位数。 它可以用在十进制(base 10)或者二进制(base 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中的不适用特性 |
也可以在第 34.16 节中查阅,一个类似的结构视图,一些字段的进一步详细信息。