44000: with_check_option_violation
PostgreSQLQue signifie cette erreur ?
Un INSERT/UPDATE via une vue définie WITH CHECK OPTION a été refusé car la ligne résultante ne satisfait plus la condition WHERE de la vue. La vue empêche l'écriture de lignes qui sortiraient de son propre filtre.
Cause
Une vue modifiable est définie WITH CHECK OPTION et l'écriture fait sortir la ligne de la condition de définition de la vue (par ex. passer une ligne à 'inactive' alors que la vue filtre status='active'). Un contrôle similaire peut se déclencher dans les politiques de row-level security (RLS).
Comment la corriger
Assurez-vous que les valeurs écrites satisfont la condition WHERE de la vue, ou effectuez l'opération directement sur la table de base plutôt que sur la vue (si les droits le permettent). Si la règle métier autorise la ligne à sortir du filtre, redéfinissez la vue sans WITH CHECK OPTION. Pour la RLS, revoyez l'expression WITH CHECK de la politique.