PostgreSQLでテーブルを作成し、そのテーブルにコメントを付けている場合、
本資料で紹介する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を実行した出力結果です。
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
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の紹介でした。