On 2025-Feb-03, Ashutosh Bapat wrote: > VALID, NOT ENFORCED changed to VALID, ENFORCED - data validation > required, constraint is enforced
There's no such thing as a VALID NOT ENFORCED constraint. It just cannot exist. > NOT VALID, NOT ENFORCED changed to NOT_VALID, ENFORCED - no data > validation required, constraint is enforced on the new tuples/changes This may make sense, but it needs special nonstandard syntax. If you start with a NOT VALID NOT ENFORCED constraint (which is the only way to have a NOT ENFORCED constraint) and apply ALTER TABLE ALTER CONSTRAINT ENFORCE, you will end up with a VALID ENFORCED constraint, therefore validation must be run. If you wanted to add a nonstandard command ALTER TABLE ALTER CONSTRAINT ENFORCE NO VALIDATE then maybe the transition you suggest could be made. It should be a separate patch from regular ALTER CONSTRAINT ENFORCE though, just in case some problems with it emerge later and we're forced to revert it, we can still keep the standard command. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "Use it up, wear it out, make it do, or do without"