50.13. pg_constraint#
50.13. pg_constraint #
Каталог pg_constraint хранит ограничения-проверки (check), ограничения NOT NULL, ограничения первичного ключа (primary key), уникальности (unique), внешнего ключа (foreign key) и ограничения-исключения (exclusion) для таблиц. (Ограничения столбцов не обрабатываются отдельно. Любое ограничение столбца эквивалентно некоторому ограничению таблицы.)
Пользовательские триггеры ограничений (созданные с помощью
CREATE CONSTRAINT TRIGGER) также приводят к созданию записи в этой таблице.
Здесь также хранятся проверочные ограничения для доменов.
Таблица 50.13. pg_constraint Столбцы
Тип столбца Описание |
|---|
Идентификатор строки |
Имя ограничения (не обязательно уникальное!) |
OID пространства имен, которое содержит это ограничение |
|
Является ли ограничение откладываемым? |
Является ли ограничение отложенным по умолчанию? |
Ограничение действует? |
Ограничение проверено? |
Таблица, на которой находится это ограничение; ноль, если это не ограничение таблицы |
Домен, на котором находится это ограничение; ноль, если это не ограничение домена |
Индекс, поддерживающий это ограничение, если это ограничение уникальности, первичный ключ, внешний ключ или ограничение-исключение; иначе ноль. |
Соответствующее ограничение родительской секционированной таблицы, если это ограничение на раздел; иначе ноль |
Если это внешний ключ, то ссылается на таблицу; иначе ноль |
Foreign key update action code:
|
Foreign key deletion action code:
|
Тип сопоставления внешнего ключа:
|
Это ограничение определено локально для отношения. Обратите внимание, что ограничение может быть определено локально и одновременно унаследовано. |
Количество непосредственных предков-наследников этого ограничения. Ограничение с ненулевым количеством предков не может быть удалено или переименовано. |
Это ограничение определено локально для отношения. Оно является неунаследуемым ограничением. |
Это ограничение определяется с помощью |
Если ограничение таблицы (включая внешние ключи, но не триггеры ограничений), список ограниченных столбцов |
Если это внешний ключ, список целевых столбцов |
Если это внешний ключ, список операторов равенства для сравнения PK = FK |
Если внешний ключ, список операторов равенства для сравнения PK = PK |
Если внешний ключ, список операторов равенства для сравнения FK = FK |
Если внешний ключ имеет действие удаления |
Для ограничение-исключения или ограничения первичного ключа/уникальности с |
Если это проверочное ограничение, внутреннее представление выражения. (Рекомендуется использовать |
В случае ограничения-исключения, conkey полезен только для элементов ограничения, которые являются простыми ссылками на столбцы. В других случаях в conkey появляется ноль, и для определения выражения, на которое наложено ограничение, необходимо обратиться к соответствующему индексу. (conkey таким образом имеет тот же содержимое, что и pg_index.indkey для индекса).
Примечание
pg_class.relchecks должно совпадать с количеством записей о проверочных ограничениях, найденных в этой таблице для каждого отношения.