DB内で使われている列名を調査したくて
oracleでいうところのデータディクショナリみたいなの無いのかなぁと
探したらpg_attributeが列を管理していると
分かったので作成してみた。
SELECT pg_class.relname, pg_attribute.attname, pg_attribute.attnum, pg_type.typname, pg_attribute.attlen, pg_attribute.attnotnull, pg_attribute.attalign, pg_attribute.attrelid, pg_attribute.atttypid FROM pg_class , pg_attribute , pg_type where pg_class.oid = pg_attribute.attrelid and pg_type.oid =pg_attribute.atttypid and pg_class.relkind = 'r' and pg_attribute.attname like '%' --relkind:r = 通常のテーブル、i = インデックス、S = シーケンス、v = ビュー、c = 複合型、s = 特別、t = TOAST テーブル