PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Existe uma maneira segura de modificar a tabela pg_constraint para que nenhuma verificação seja feita (temporariamente)?


Você pode ...
ALTER TABLE tbl DISABLE TRIGGER ALL;

Isso desativa todos os gatilhos da mesa permanentemente. Então não se esqueça de executar mais tarde:
ALTER TABLE tbl ENABLE TRIGGER ALL;

-> 8.3 manual

Você pode ...
SET CONSTRAINTS ALL DEFERRED;

Isso faz com que todas as restrições adiáveis ​​esperem até o final da transação .
-> 8.3 manual

Você deve nunca mexer manualmente nas tabelas do catálogo do sistema, a menos que você seja um hacker e saiba exatamente o que está fazendo. Humanos mortais devem usar DDL comandos exclusivamente para afetar o catálogo do sistema.