pg_attrdef システムカタログは列のデフォルト値を格納します。列の主要な情報は pg_attribute に格納されています(下記を参照)。(テーブルが作成された時、もしくは列が追加された時に)デフォルト値を明示的に特定した列のみここにエントリを持ちます。
表 41-6. pg_attrdef の列
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
adrelid | oid | pg_class.oid | この列が属するテーブル |
adnum | int2 | pg_attribute.attnum | 列数 |
adbin | text | 列のデフォルト値の内部表現 | |
adsrc | text | 人間が見てわかるデフォルト値の表現 |
adsrcフィールドは歴史的なもので使用しない方がいいでしょう。この値は、デフォルト値の表現に影響を与える外部の変化を追跡しないからです。 デフォルト値の表示をするには、(例えば pg_get_expr を使った)adbinフィールドの逆コンパイルが、よい方法です。