Postgresの特定テーブルのカラム一覧は「select * from information_schema.columns」で簡単に取得できるのだが、コメントがついてこない。
コメントは「pg_description」に格納されているが、キーが「objoid」でテーブルを特定し、「objsubid」でカラムを特定するようだ。さきの「information_schema.columns」にて「objsubid」は取得できるので、テーブルは「pg_stat_user_tables」から「objoid」を取得することでコメントの取得が可能。
--指定したテーブルのカラム一覧とコメントを取得するクエリ select information_schema.columns.column_name, information_schema.columns.data_type, (select description from pg_description where pg_description.objoid=pg_stat_user_tables.relid and pg_description.objsubid=information_schema.columns.ordinal_position ) from pg_stat_user_tables, information_schema.columns where pg_stat_user_tables.relname='テーブル名' and pg_stat_user_tables.relname=information_schema.columns.table_name
参考URL:http://www.mediaweb.biz/database/modules/database/article.php?articleid=66
コメント