Closed1

PostgreSQLでカラム一覧とコメントをまとめて取得したい

tharutharu

PostgreSQLでデータベース内のカラムと付与されているコメントを取得する方法。
結構複雑なクエリになったので備忘録として掲載。
テーブル・ビュー・マテリアライズドビューを対象としている。

SELECT
    current_database() AS database_name,
    pn.nspname AS schema_name,
    pc.relname AS table_name,
    pa.attname AS column_name,
    pd.description AS comment
FROM pg_catalog.pg_class AS pc
INNER JOIN pg_catalog.pg_namespace AS pn
    ON pc.relnamespace = pn.oid
INNER JOIN pg_catalog.pg_attribute AS pa
    ON pc.oid = pa.attrelid
LEFT JOIN pg_description AS pd
    ON pc.oid = pd.objoid
    AND pa.attnum = pd.objsubid
WHERE pn.nspname NOT IN ('information_schema')
    AND pn.nspname NOT LIKE 'pg_%'
    AND pc.relkind IN ('r', 'v', 'm')
    AND pa.attnum >= 1;
このスクラップは2022/05/07にクローズされました