# 37.24.元素类型
风景元素类型
包含数组元素的数据类型描述符。当表列、复合类型属性、域、函数参数或函数返回值定义为数组类型时,相应的信息模式视图仅包含大批
在列数据类型
.要获取有关数组元素类型的信息,您可以将相应的视图与此视图连接起来。例如,要显示具有数据类型和数组元素类型的表的列,如果适用,您可以执行以下操作:
SELECT c.column_name, c.data_type, e.data_type AS element_type
FROM information_schema.columns c LEFT JOIN information_schema.element_types e
ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
= (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier))
WHERE c.table_schema = '...' AND c.table_name = '...'
ORDER BY c.ordinal_position;
此视图仅包括当前用户通过成为所有者或具有某些特权而可以访问的对象。
表 37.22.元素类型
列
列类型 描述 |
---|
对象目录 sql_identifier 包含使用所描述数组的对象的数据库的名称(始终为当前数据库) |
对象模式 sql_identifier 包含使用正在描述的数组的对象的模式的名称 |
对象名 sql_identifier 使用正在描述的数组的对象的名称 |
对象类型 字符数据 使用正在描述的数组的对象的类型:其中之一 桌子 (该数组由该表的一列使用),用户定义类型 (该数组由该复合类型的属性使用),领域 (该数组由该域使用),常规 (该数组由参数或该函数的返回数据类型使用)。 |
集合类型标识符 sql_identifier 正在描述的数组的数据类型描述符的标识符。使用它来加入 dtd_identifier 其他信息模式视图的列。 |
数据类型 字符数据 数组元素的数据类型,如果是内置类型,否则 用户自定义 (在这种情况下,类型在udt_name 和相关的列)。 |
character_maximum_length 基数 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
character_octet_length 基数 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
字符集目录 sql_identifier 适用于 PostgreSQL 中不可用的功能 |
character_set_schema sql_identifier 适用于 PostgreSQL 中不可用的功能 |
字符集名称 sql_identifier 适用于 PostgreSQL 中不可用的功能 |
collation_catalog sql_identifier 包含元素类型排序规则的数据库的名称(始终为当前数据库),如果默认为 null 或元素的数据类型不可排序 |
collation_schema sql_identifier 包含元素类型排序规则的模式名称,默认为 null 或元素的数据类型不可排序 |
collation_name sql_identifier 元素类型的排序规则名称,默认为 null 或者元素的数据类型不可排序 |
数字精度 基数 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
numeric_precision_radix 基数 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
numeric_scale 基数 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
日期时间精度 基数 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
间隔类型 字符数据 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
间隔精度 基数 始终为 null,因为此信息不适用于 PostgreSQL 中的数组元素数据类型 |
domain_default 字符数据 尚未实现 |
udt_catalog sql_identifier 定义元素数据类型的数据库的名称(始终为当前数据库) |
udt_schema sql_identifier 元素的数据类型在其中定义的模式的名称 |
udt_name sql_identifier 元素的数据类型名称 |
范围目录 sql_identifier 适用于 PostgreSQL 中不可用的功能 |
scope_schema sql_identifier 适用于 PostgreSQL 中不可用的功能 |
范围名称 sql_identifier 适用于 PostgreSQL 中不可用的功能 |
最大基数 基数 始终为 null,因为数组在 PostgreSQL 中始终具有无限的最大基数 |
dtd_identifier sql_identifier 元素的数据类型描述符的标识符。这目前没有用。 |