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