★PostgreSQLカンファレンス2021 11月12日開催/チケット販売中★
他のバージョンの文書 13 | 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 | 7.3 | 7.2

36.24. element_types

element_typesには、配列の要素のデータ型記述子が含まれます。 テーブル列、複合データ型属性、ドメイン、関数パラメータ、関数の戻り値が配列型であると宣言された場合、 情報スキーマの各ビューでは、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;

このビューは、所有者である、適切な権限を持っているといった方法で、現在のユーザがアクセスできるオブジェクトのみが含まれます。

表36.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

記述される配列のデータ型記述子の識別子です。他の情報スキーマビューの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における配列要素のデータ型には当てはまらないからです。

domain_default character_data

未実装です。

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

要素のデータ型記述子の識別子です。現在は用途はありません。