テーブル一覧およびテーブルコメントを表示する †
PostgreSQLでテーブルを作成し、そのテーブルにコメントを付けている場合、
本資料で紹介するSQLにより、テーブル名とコメントの一覧を出力することができます。
テーブルにコメントを付けている方も多い?と思いますので、物理名とコメントに論理名(和名?)を表示するSQLを紹介します。
テーブル一覧およびコメント表示SQL †
以下のSQLにより、テーブル名とテーブルに設定されたコメントを表示することができます。
select
pg_stat_user_tables.relname as TABLE_NAME
,pg_description.description as TABLE_COMMENT
from
pg_stat_user_tables
,pg_description
where
pg_stat_user_tables.relname in (
select
relname as TABLE_NAME
from
pg_stat_user_tables
)
and
pg_stat_user_tables.relid=pg_description.objoid
and
pg_description.objsubid=0
;
実行例 †
コメント付きのテーブルを作成し、上記のSQLを実行した出力結果です。
- 空のデータベースにテーブルt1, t2を作成します。
sakuradb=> CREATE TABLE t1 (c1 int);
CREATE TABLE
sakuradb=> CREATE TABLE t2 (c1 int, c2 int);
CREATE TABLE
- 作成したテーブルを確認します。
sakuradb=> \d
List of relations
Schema | Name | Type | Owner
--------+------+-------+--------
public | t1 | table | sakura
public | t2 | table | sakura
(2 rows)
- テーブルにコメントを設定します。
sakuradb=> COMMENT ON TABLE t1 IS 'テーブル1';
COMMENT
sakuradb=> COMMENT ON TABLE t2 IS 'テーブル2';
COMMENT
- 上記で紹介したSQLを実行します。
sakuradb=> select
sakuradb-> pg_stat_user_tables.relname as TABLE_NAME
sakuradb-> ,pg_description.description as TABLE_COMMENT
sakuradb-> from
sakuradb-> pg_stat_user_tables
sakuradb-> ,pg_description
sakuradb-> where
sakuradb-> pg_stat_user_tables.relname in (
sakuradb(> select
sakuradb(> relname as TABLE_NAME
sakuradb(> from
sakuradb(> pg_stat_user_tables
sakuradb(> )
sakuradb-> and
sakuradb-> pg_stat_user_tables.relid=pg_description.objoid
sakuradb-> and
sakuradb-> pg_description.objsubid=0
sakuradb-> ;
table_name | table_comment
------------+---------------
t1 | テーブル1
t2 | テーブル2
(2 rows)
以上、テーブル名とテーブルに設定したコメントを一覧にして出力するSQLの紹介でした。