SQLでカラム情報一覧を取得する
information_schema.columns
テーブルにカラム情報が格納されているので、これを参照する。
testdb=# select column_name, column_name, is_nullable, data_type
from information_schema.columns
where table_name = 'テーブル名'
order by ordinal_position;
テーブルと共に取得する方法は以下を参照。
» 【PostgreSQL】SQLでテーブル一覧を取得する
実行例
users
テーブルのカラム情報を取得するには以下のようなSQLを実行する。
testdb=# select column_name, column_name, is_nullable, data_type
from information_schema.columns
where table_name = 'users'
order by ordinal_position;
column_name | column_name | is_nullable | data_type
-------------+-------------+-------------+-----------
id | id | NO | integer
name | name | YES | text
email | email | YES | text
address | address | YES | text
(4 rows)
取得できる情報一覧
information_schema.columns
テーブルのカラム数が多いので、上記では一部のカラムに絞って表示している。
すべてを表示するとPostgreSQL 14では以下のカラムが表示された。
- table_catalog
- table_schema
- table_name
- column_name
- ordinal_position
- column_default
- is_nullable
- data_type
- character_maximum_length
- character_octet_length
- numeric_precision
- numeric_precision_radix
- numeric_scale
- datetime_precision
- interval_type
- interval_precision
- character_set_catalog
- character_set_schema
- character_set_name
- collation_catalog
- collation_schema
- collation_name
- domain_catalog
- domain_schema
- domain_name
- udt_catalog
- udt_schema
- udt_name
- scope_catalog
- scope_schema
- scope_name
- maximum_cardinality
- dtd_identifier
- is_self_referencing
- is_identity
- identity_generation
- identity_start
- identity_increment
- identity_maximum
- identity_minimum
- identity_cycle
- is_generated
- generation_expression
- is_updatable
\第一線のプログラマーの行動原理を学べる!/