Отключить все ограничения, кроме уникальных - PullRequest
0 голосов
/ 16 марта 2020

Что такое запрос к disable все constraints, как foreign keys, primary keys , но оставить uniques?

1 Ответ

1 голос
/ 16 марта 2020

PostgreSQL вообще не позволяет отключать ограничения. Вы можете отключить ограничения внешнего ключа только путем отключения соответствующего триггера, используемого для реализации внешних ключей.

См. https://www.postgresql.org/docs/12/sql-altertable.html#SQL -ALTERTABLE-NOTES

DISABLE / ENABLE [REPLICA | ВСЕГДА] TRIGGER

Можно отключить или включить один триггер, заданный именем, или все триггеры в таблице, или только триггеры пользователя (эта опция исключает внутренне сгенерированные триггеры ограничения, такие как те, которые используются для реализации внешнего ключа ограничения или отложенные ограничения уникальности и исключения). Отключение или включение внутренне сгенерированных триггеров ограничений требует привилегий суперпользователя; это следует делать с осторожностью, поскольку, конечно, целостность ограничения не может быть гарантирована, если триггеры не выполняются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...