PostgreSQL のテーブル定義書を生成する

dbdeploy のようなDBマイグレーションツールを使っていると、テーブル定義は斬進的に更新されていくため、現時点のテーブル定義書をDB情報から生成したいと思うことは度々ある。(私の知識では、)テーブル名や各項目の型は取得できるが、それだけでは説明が足りないのでどうしたものかと思っていた。
PostgreSQL では事前に各項目に対してコメントが設定できるため、これをもとにテーブル定義を生成できるとのこと。

http://d.hatena.ne.jp/JHashimoto/20110719/1311053856
http://www.postgresql.jp/document/9.1/html/sql-comment.html

"COMMENT ON"という構文は、標準 SQL にはないので移植性に難ありだが、コメントする機能自体は、SQLは異なるものの MySQL にもあるので、アイディアとしては一般的に使えそうに思えた。