PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Déclenchement vs contrainte de vérification

La règle d'or consiste à utiliser CHECK contrainte lorsque cela est possible.

Un CHECK contrainte est plus rapide, plus simple, plus portable, nécessite moins de code et est moins sujette aux erreurs. Les déclencheurs peuvent facilement être contournés par d'autres déclencheurs, par exemple.

Un TRIGGER est plus compliqué. Utilisez-le lorsque vous le devez , pour des exigences plus complexes.

Si un CHECK contrainte est trop restrictive pour votre cas ou cause des problèmes pour recharger un dump, vous pouvez utiliser le NOT VALID modificateur comme terrain d'entente (Postgres 9.2+). Et, éventuellement, VALIDATE plus tard. Voir :

  • Désactiver toutes les contraintes et vérifications de table lors de la restauration d'un vidage