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.