2013年1月25日 : してログ

コメント取得用関数 obj_description がありますが、マニュアルにはテーブル名としか書いてありません。しかし、ビューに対しても取得できるようです。

select obj_description(19921009,'pg_class');

ここで第1パラメータで与える objectOID ですが、結局 pg_catalog.pg_class より自分で調べて来なくてはならず、何のために用意されているのか分からないような関数となっております。pg_catalog より、テーブル名やビュー名から、コメントを取得するには、下記のような SQL 文を発行します。

select description
 from pg_catalog.pg_description
 where objoid=(select relfilenode from pg_catalog.pg_class where relname='テーブルまたはビューの名前')
   and classoid=(select relfilenode from pg_catalog.pg_class where relname='pg_class')
   and objsubid=0

条件の objsubid=0 は、カラムに付いたコメントの場合にその番号が入りますが、今回はテーブルまたはビュー自体に付いたコメントですので、常にゼロとなります。