ALTER TABLE .. VALIDATE CONSTRAINT previously
gave incorrect details about lock levels and
therefore incomplete reasons to use the option.
Initial bug report and fix from Marko Tiikkaja
Reworded by me to include comments by Kevin Grittner
as <literal>NOT VALID</literal>, by scanning the table to ensure there
are no unmatched rows. Nothing happens if the constraint is
already marked valid.
- The value of separating validation from initial creation of the
- constraint is that validation requires a lesser lock on the table
- than constraint creation does.
+ </para>
+ <para>
+ Validation can be a long process on larger tables and currently requires
+ an <literal>ACCESS EXCLUSIVE</literal> lock. The value of separating
+ validation from initial creation is that you can defer validation to less
+ busy times, or can be used to give additional time to correct pre-existing
+ errors while preventing new errors.
</para>
</listitem>
</varlistentry>