Re: Disable and enable of table and column constraints

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Disable and enable of table and column constraints
Дата
Msg-id 20090908200720.GJ549@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: Disable and enable of table and column constraints  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Disable and enable of table and column constraints  (Peter Eisentraut <peter_e@gmx.net>)
Re: Disable and enable of table and column constraints  (Rob Wultsch <wultsch@gmail.com>)
Re: Disable and enable of table and column constraints  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Список pgsql-hackers
Tom Lane wrote:
> Michael Gould <mgould@intermodalsoftwaresolutions.net> writes:
> > It would be nice if we could enable and disable column and table
> > constraints.  I believe that you can do this in Oracle but this is very
> > handy for testing stored procedures and other external processes.
> 
> Drop the constraint and re-add it later...

That's not very useful when adding it later means grabbing an exclusive
lock on the table for the whole duration of the full table scan required
to check the table.

Actually something in this area is on my plate too -- a customer of ours
wants to be able to define constraints but not have it checked
immediately.  I envision it similar to how concurrent index creation
works: the constraint is created as "not checked" and the transaction is
committed; new insertions are checked against the constraint.  Then the
table is scanned to verify that extant tuples pass the constraint,
_without_ the exclusive lock on the table.

Both DB2 and Oracle have an ENFORCE setting for constraints, and a MySQL
blog hinted some time ago that it might be in SQL 201x.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Disable and enable of table and column constraints
Следующее
От: David Fetter
Дата:
Сообщение: CTE bug?