The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute (see below). Only columns that explicitly specify a default value (when the table is created or the column is added) will have an entry here.
Table 42-6. pg_attrdef Columns
Name |
Type |
References |
Description |
adrelid
|
oid
|
pg_class
.oid
|
The table this column belongs to |
adnum
|
int2
|
pg_attribute
.attnum
|
The number of the column |
adbin
|
text
|
|
The internal representation of the column default value |
adsrc
|
text
|
|
A human-readable representation of the default value |
The adsrc field is historical, and is best not used, because it does not track outside changes that might affect the representation of the default value. Reverse-compiling the adbin field (with pg_get_expr
for example) is a better way to display the default value.