2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4

35.24. element_types #

檢視 element_types 包含陣列元素的型別描述符。當表列、複合型別屬性、域、函式引數或函式返回值被定義為陣列型別時,相應的 `information_schema` 檢視僅在 data_type 列中包含 ARRAY。要獲取陣列元素型別的資訊,您可以將相應檢視與此檢視連線。例如,要顯示錶的列及其資料型別和陣列元素型別(如果適用),您可以執行以下操作:

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;

此檢視僅包含當前使用者有權訪問的物件,即作為所有者或擁有某些許可權的物件。

表 35.22. element_types

列 型別

描述

object_catalog sql_identifier

包含使用所描述陣列的物件所在的資料庫的名稱(始終是當前資料庫)

object_schema sql_identifier

包含使用所描述陣列的物件所在的模式的名稱

object_name sql_identifier

使用所描述陣列的物件名稱

object_type character_data

使用所描述陣列的物件型別: TABLE(陣列由該表的列使用)、USER-DEFINED TYPE(陣列由該複合型別的屬性使用)、DOMAIN(陣列由該域使用)、ROUTINE(陣列由該函式的引數或返回資料型別使用)。

collection_type_identifier sql_identifier

所描述陣列的資料型別描述符的識別符號。可以使用此識別符號與其他 `information_schema` 檢視的 dtd_identifier 列進行連線。

data_type character_data

陣列元素的型別,如果它是內建型別,則為 USER-DEFINED(在這種情況下,型別在 udt_name 和相關列中標識)。

character_maximum_length cardinal_number

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

character_octet_length cardinal_number

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

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

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

numeric_precision_radix cardinal_number

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

numeric_scale cardinal_number

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

datetime_precision cardinal_number

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

interval_type character_data

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

interval_precision cardinal_number

始終為 NULL,因為此資訊不適用於 PostgreSQL 中的陣列元素資料型別。

udt_catalog sql_identifier

元素資料型別定義的資料庫名稱(始終是當前資料庫)。

udt_schema sql_identifier

元素資料型別定義的模式名稱。

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

元素的型別描述符的識別符號。目前此欄位無用。


提交更正

如果您在文件中發現任何不正確、不符合您對特定功能的體驗或需要進一步澄清的內容,請使用 此表格 報告文件問題。