| Документация по PostgreSQL 9.4.1 | |||
|---|---|---|---|
| Пред. | Уровень выше | Глава 48. Системные каталоги | След. |
48.6. pg_attrdef
В каталоге pg_attrdef хранятся значения колонок по умолчанию. Основная информация о колонках хранится в pg_attribute (см. ниже). В этой таблице записи будут только для тех колонок, для которых явно задаётся значение по умолчанию (при создании таблицы или добавлении колонки).
Таблица 48-6. Колонки pg_attrdef
| Имя | Тип | Ссылки | Описание |
|---|---|---|---|
| oid | oid | Идентификатор строки (скрытый атрибут; должен выбираться явно) | |
| adrelid | oid | pg_class.oid | Таблица, к которой принадлежит колонка |
| adnum | int2 | pg_attribute.attnum | Номер колонки |
| adbin | pg_node_tree | Внутреннее представление значения колонки по умолчанию | |
| adsrc | text | Понятное человеку представление значения по умолчанию |
Поле adsrc присутствует по исторически причинам, его не стоит использовать, так как в нём не отражаются внешние факторы, способные повлиять на представление значения по умолчанию. Для отображения значения по умолчанию лучше декомпилировать поле adbin (применив, например pg_get_expr ).
| Пред. | Начало | След. |
| pg_amproc | Уровень выше | pg_attribute |
| PostgreSQL 9.4.1 Documentation | |||
|---|---|---|---|
| Prev | Up | Chapter 48. System Catalogs | Next |
48.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 48-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.