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

Trigger vs. Check Constraint

Als Faustregel gilt CHECK einschränken, wenn möglich.

Ein CHECK Constraint ist schneller, einfacher, portabler, benötigt weniger Code und ist weniger fehleranfällig. Trigger können beispielsweise leicht durch andere Trigger umgangen werden.

Ein TRIGGER ist komplizierter. Verwenden Sie es, wenn Sie müssen , für komplexere Anforderungen.

Wenn ein CHECK Constraint für Ihren Fall zu restriktiv ist oder Probleme beim erneuten Laden eines Dumps verursacht, können Sie den NOT VALID verwenden Modifikator als Mittelweg (Postgres 9.2+). Und optional VALIDATE es später. Siehe:

  • Deaktivieren Sie alle Beschränkungen und Tabellenprüfungen, während Sie einen Dump wiederherstellen