On 28.01.25 11:58, Amul Sul wrote:
This behavior is not correct:

+-- Changing it back to ENFORCED will leave the constraint in the NOT
VALID state
+ALTER TABLE FKTABLE ALTER CONSTRAINT fktable_ftest1_fkey ENFORCED;
+-- Which needs to be explicitly validated.
+ALTER TABLE FKTABLE VALIDATE CONSTRAINT fktable_ftest1_fkey;

Setting the constraint to enforced should enforce it immediately.  This
SQL statement is covered by the SQL standard.  Also, I think it's a
better user experience if you don't require two steps.

Let me clarify: the constraint will be enforced for new inserts and
updates, but it won't be validated against existing data, so those
will remain marked as invalid.

Yes, I understand, but that is the not the correct behavior of this command per SQL standard.


Reply via email to