Re: creating CHECK constraints as NOT VALID
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2011-05-31T16:36:26Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix pg_get_constraintdef to cope with NOT VALID constraints
- 048417511aef 9.1.0 cited
On Tue, May 31, 2011 at 12:04 PM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > This patch allows you to initially declare a CHECK constraint as NOT > VALID, similar to what we already allow for foreign keys. That is, you > create the constraint without scanning the table and after it is > committed, it is enforced for new rows; later, all rows are checked by > running ALTER TABLE VALIDATE CONSTRAINT, which doesn't need > AccessExclusive thus allowing for better concurrency. > > The trickiest bit here was realizing that unlike FKs, check constraints > do inherit, and so needed special treatment for recursion. Other than > that I think this was pretty straightforward. > > I intend to attempt to apply this to NOT NULL constraints as well, once > the patch to add them to pg_constraint is in. Seems like a logical extension of what we have now. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company