PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Gibt es eine sichere Möglichkeit, die Tabelle pg_constraint so zu ändern, dass (vorübergehend) keine Überprüfung mehr durchgeführt wird?

Sie können ...

ALTER TABLE tbl DISABLE TRIGGER ALL;

Dadurch werden alle Trigger deaktiviert des Tisches dauerhaft. Vergessen Sie also nicht, später Folgendes auszuführen:

ALTER TABLE tbl ENABLE TRIGGER ALL;

-> 8.3 Handbuch

Sie können ...

SET CONSTRAINTS ALL DEFERRED;

Dadurch warten alle aufschiebbaren Beschränkungen bis zum Ende der Transaktion .
-> 8.3 Handbuch

Das sollten Sie nie tun basteln Sie manuell an Tabellen im Systemkatalog, es sei denn, Sie sind ein Hacker und wissen genau, was Sie tun. Sterbliche Menschen sollten DDL verwenden Befehle, die ausschließlich den Systemkatalog betreffen.