pg_constraint
Системная таблица pg_constraint хранит ограничения-проверки, ограничения первичного ключа, уникальности и внешнего ключа таблиц.
Ограничения столбцов не обрабатываются особым образом.
Любое ограничение столбца эквивалентно некоторому ограничению таблицы.
Ограничения NOT NULL представлены в таблице pg_attribute.
Здесь также хранятся ограничения доменов.
| Столбец | Тип | Ссылки | Описание |
|---|---|---|---|
conname |
name |
— |
Имя ограничения (не обязательно уникальное) |
connamespace |
oid |
pg_namespace.oid |
OID схемы, содержащей это ограничение |
contype |
char |
— |
|
condeferrable |
boolean |
— |
Является ли ограничение откладываемым |
condeferred |
boolean |
— |
Является ли ограничение отложенным по умолчанию |
convalidated |
boolean |
— |
Проверено ли ограничение.
В настоящее время может быть |
conrelid |
oid |
pg_class.oid |
Таблица, к которой относится это ограничение; |
contypid |
oid |
pg_type.oid |
Домен, к которому относится это ограничение; |
conindid |
oid |
pg_class.oid |
Индекс, поддерживающий это ограничение, если это ограничение уникальности, первичного ключа или внешнего ключа; в противном случае — |
confrelid |
oid |
pg_class.oid |
Если это внешний ключ, таблица, на которую он ссылается; в противном случае — |
confupdtype |
char |
— |
Код действия при изменении внешнего ключа |
confdeltype |
char |
— |
Код действия при удалении внешнего ключа |
confmatchtype |
char |
— |
Тип сопоставления внешнего ключа |
conislocal |
boolean |
— |
Это ограничение определено для отношения локально. Обратите внимание, что ограничение может быть определено локально и при этом наследоваться |
coninhcount |
integer |
— |
Количество прямых потомков этого ограничения. Ограничение с ненулевым числом потомков нельзя удалить или переименовать |
connoinherit |
boolean |
— |
Указывает, что ограничение является локальным и не может наследоваться дочерними таблицами |
conkey |
int2[] |
pg_attribute.attnum |
Если это ограничение таблицы, список столбцов, к которым применяется ограничение |
confkey |
int2[] |
pg_attribute.attnum |
Для внешнего ключа определяет список столбцов, на которые он ссылается |
conpfeqop |
oid[] |
pg_operator.oid |
Для внешнего ключа список операторов равенства для сравнений PK = FK |
conppeqop |
oid[] |
pg_operator.oid |
Для внешнего ключа список операторов равенства для сравнений PK = PK |
conffeqop |
oid[] |
pg_operator.oid |
Для внешнего ключа список операторов равенства для сравнений FK = FK |
conexclop |
oid[] |
pg_operator.oid |
Для ограничения-исключения список операторов исключения по столбцам |
conbin |
text |
— |
Для ограничения-проверки внутреннее представление выражения |
consrc |
text |
— |
Если это ограничение-проверка, текстовое представление его выражения |