#author("2017-02-28T13:22:31+09:00","","")
#navi(../)
* テーブル一覧およびテーブルコメントを表示する [#rbf3fb7e]
PostgreSQLでテーブルを作成し、そのテーブルにコメントを付けている場合、~
本資料で紹介するSQLにより、テーブル名とコメントの一覧を出力することができます。

テーブルにコメントを付けている方も多い?と思いますので、物理名とコメントに論理名(和名?)を表示するSQLを紹介します。

#contents
#htmlinsertpcsp(db-top.html,db-sp.html)

* テーブル一覧およびコメント表示SQL [#d46949a6]
以下の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
 ;

* 実行例 [#x27fe0d2]
コメント付きのテーブルを作成し、上記の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の紹介でした。

#htmlinsertpcsp(db-btm.html,db-sp.html)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS