Excerpts from Dean Rasheed's message of sáb jun 11 09:32:15 -0400 2011:
> On 1 June 2011 23:47, Alvaro Herrera <alvherre@commandprompt.com> wrote:
> >
> > Here's a complete patch with all this stuff, plus doc additions and
> > simple regression tests for the new ALTER DOMAIN commands.
> >
> > Enable CHECK constraints to be declared NOT VALID
> >
> > This means that they can initially be added to a large existing table
> > without checking its initial contents, but new tuples must comply to
> > them; a separate pass invoked by ALTER TABLE / VALIDATE can verify
> > existing data and ensure it complies with the constraint, at which point
> > it is marked validated and becomes a normal part of the table ecosystem.
> >
>
> I think that you also need to update the constraint exclusion code
> (get_relation_constraints() or nearby), otherwise the planner might
> exclude a relation on the basis of a CHECK constraint that is not
> currently VALID.
Ouch, yeah, thanks for pointing that out. Fortunately the patch to fix
this is quite simple. I don't have it handy right now but I'll post it
soon.
--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support