La regla general es usar CHECK
restricción cuando sea posible.
UN CHECK
La restricción es más rápida, más simple, más portátil, necesita menos código y es menos propensa a errores. Los disparadores pueden ser eludidos fácilmente por otros disparadores, por ejemplo.
UN TRIGGER
es mas complicado Úselo cuando deba hacerlo , para requisitos más complejos.
Si un CHECK
la restricción es demasiado restrictiva para su caso o causa problemas para volver a cargar un volcado, puede usar NOT VALID
modificador como término medio (Postgres 9.2+). Y, opcionalmente, VALIDATE
eso mas tarde. Ver:
- Deshabilitar todas las restricciones y comprobaciones de tablas al restaurar un volcado