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