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 44-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.