34.6. attributes
视图attributes
包含有关在数据库中定义的复合数据类型的属性信息。 (注意,视图不会提供表字段的信息,在PostgreSQL环境中有时被叫做属性。) 只有当前用户有权限时才显示这些属性(通过成为它的所有者或者在这个类型上有某些权限)。
Table 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中的不适用特性 |
也可以在Section 34.16中查阅,一个类似的结构视图,一些字段的进一步详细信息。