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