LoginSignup
3
4

More than 5 years have passed since last update.

PostgreSQL でコメントの無い列を調べる

Posted at
  • 「全テーブルの全カラムにちゃんと列コメントが付いてるか確認して」って言われたとき
  • pg_xxxx だけで見るとコメントが入ってないものが抽出できない
SELECT
  cols.table_name,
  cols.column_name,
  cmm.column_comment
FROM
  (SELECT
     table_name,
     column_name
   FROM
     information_schema.columns
   ORDER BY
     ordinal_position) cols
  LEFT JOIN
  (SELECT
     psat.relname   AS table_name,
     pa.attname     AS column_name,
     pd.description AS column_comment
   FROM
     pg_stat_all_tables psat
     , pg_description pd
     , pg_attribute pa
   WHERE
     psat.relid = pd.objoid
     AND pd.objsubid <> 0
     AND pd.objoid = pa.attrelid
     AND pd.objsubid = pa.attnum
   ORDER BY
     psat.relname,
     pd.objsubid) cmm 
  ON cmm.table_name = cols.table_name AND cmm.column_name = cols.column_name
WHERE
  cmm.column_comment is NULL

もう少しリファクタできそうな気もする。

via PostgreSQLにてテーブルやカラムの各種情報を取得するSQL (テーブル一覧, カラム一覧, プライマリーキー情報取得, テーブルのコメントを取得, カラムのコメントを取得) - いろいろ備忘録日記

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4