## 51.6. `pg_attrdef`

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 51.6. `pg_attrdef` Columns

Name | Type | References | Description
--- | --- | --- | ---
`oid` | `oid` |  | Row identifier (hidden attribute; must be explicitly selected)
`adrelid` | `oid` | ``pg_class`.oid` | The table this column belongs to
`adnum` | `int2` | ``pg_attribute`.attnum` | The number of the column
`adbin` | `pg_node_tree` |  | 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.