Simon Riggs wrote:
> Magnus and I discussed the need for pg_dump to offer the use of NOT
> VALID constraints.
> Here's the patch.
>
>
> pg_dump --no-revalidaton
>
> will add "NOT VALID" onto the recreation SQL for any FKs, but only for
> ones that were already known to be valid.
Well. Constraints that haven't been validated already have a NOT VALID
emitted by ruleutils.c, yes? So what this patch does is add such a
clause for all *other* constraints. Right? In other words what it aims
to do is speed up loading of data by skipping the validation step on
restore. Is that right?
ISTM we could have the default pg_dump behavior emit NOT VALID
constraints, and add VALIDATE CONSTRAINT commands at the end; that way
the database is usable sooner but the constraints end up marked as
validated by the time the dump is finished.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services