PostgreSQL element_types

2021-09-02 15:46 更新

視圖element_types包含數(shù)組元素的數(shù)據(jù)類型描述符。當(dāng)一個(gè)表列、組合類型屬性、域、函數(shù)參數(shù)或函數(shù)返回值被定義為一種數(shù)組類型,相應(yīng)的信息模式視圖只在列data_type中包含ARRAY。要獲得該數(shù)組元素類型的信息,你可以連接該相應(yīng)的視圖和這個(gè)視圖。例如,要顯示一個(gè)表的列及其數(shù)據(jù)類型和數(shù)組元素類型,你可以:

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;

這個(gè)視圖只包括當(dāng)前用戶能夠訪問(作為擁有者或具有某些特權(quán))的對象。

表 36.22. element_types

列類型

描述

object_catalog sql_identifier

包含使用被描述的數(shù)組的對象的數(shù)據(jù)庫名稱(總是當(dāng)前數(shù)據(jù)庫)

object_schema sql_identifier

包含使用被描述的數(shù)組的對象的模式名稱

object_name sql_identifier

使用被描述的模式的對象名稱

object_type character_data

使用被描述的數(shù)組的對象的類型:TABLE(被一個(gè)表列使用的數(shù)組)、USER-DEFINED TYPE(被組合類型的一個(gè)屬性使用的數(shù)組)、DOMAIN (被域使用的數(shù)組)、ROUTINE(被函數(shù)的一個(gè)參數(shù)或返回?cái)?shù)據(jù)類型使用的數(shù)組)。

collection_type_identifier sql_identifier

被描述的數(shù)組的數(shù)據(jù)類型描述符的標(biāo)識符。使用這個(gè)去與其他信息模式視圖的dtd_identifier列連接。

data_type character_data

如果數(shù)組元素的數(shù)據(jù)類型是內(nèi)建類型,這里是數(shù)組元素的數(shù)據(jù)類型,否則為USER-DEFINED(在那種情況下,該類型被標(biāo)識在udt_name和相關(guān)列中)。

character_maximum_length cardinal_number

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

character_octet_length cardinal_number

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

character_set_catalog sql_identifier

應(yīng)用于一個(gè)PostgreSQL中不可用的特性

character_set_schema sql_identifier

應(yīng)用于一個(gè)PostgreSQL中不可用的特性

character_set_name sql_identifier

應(yīng)用于一個(gè)PostgreSQL中不可用的特性

collation_catalog sql_identifier

包含元素類型排序規(guī)則的數(shù)據(jù)庫名稱(總是當(dāng)前數(shù)據(jù)庫), 如果默認(rèn)或該元素的數(shù)據(jù)類型是不可排序的則為空

collation_schema sql_identifier

包含元素類型排序規(guī)則的模式名稱, 如果默認(rèn)或該元素的數(shù)據(jù)類型是不可排序的則為空

collation_name sql_identifier

元素類型的排序規(guī)則名, 如果默認(rèn)或該元素的數(shù)據(jù)類型是不可排序的則為空

numeric_precision cardinal_number

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

numeric_precision_radix cardinal_number

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

numeric_scale cardinal_number

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

datetime_precision cardinal_number

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

interval_type character_data

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

interval_precision cardinal_number

總是為空,因?yàn)檫@種信息不適用于PostgreSQL中的數(shù)組元素?cái)?shù)據(jù)類型

domain_default character_data

還未被實(shí)現(xiàn)

udt_catalog sql_identifier

元素的數(shù)據(jù)類型所在的數(shù)據(jù)庫名稱(總是當(dāng)前數(shù)據(jù)庫)

udt_schema sql_identifier

定義元素的數(shù)據(jù)類型的模式的名稱

udt_name sql_identifier

元素的數(shù)據(jù)類型名

scope_catalog sql_identifier

應(yīng)用于一個(gè)PostgreSQL中不可用的特性

scope_schema sql_identifier

應(yīng)用于一個(gè)PostgreSQL中不可用的特性

scope_name sql_identifier

應(yīng)用于一個(gè)PostgreSQL中不可用的特性

maximum_cardinality cardinal_number

總是空,因?yàn)閿?shù)組在PostgreSQL中總是有無限制的最大勢

dtd_identifier sql_identifier

該元素的數(shù)據(jù)類型描述符的標(biāo)識符。當(dāng)前沒有用。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號