Re: Disable and enable of table and column constraints
От | Rob Wultsch |
---|---|
Тема | Re: Disable and enable of table and column constraints |
Дата | |
Msg-id | 2c5ef4e30909090001v1cff5072s33ae586e9dbf0fbc@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Disable and enable of table and column constraints (Alvaro Herrera <alvherre@commandprompt.com>) |
Список | pgsql-hackers |
On Tue, Sep 8, 2009 at 1:07 PM, Alvaro Herrera<alvherre@commandprompt.com> wrote: > 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. The mysql'ism foreign_key_checks would seem to do similar things...? (http://dev.mysql.com/doc/refman/5.1/en/server-session-variables.html#sysvar_foreign_key_checks ) -- Rob Wultsch wultsch@gmail.com
В списке pgsql-hackers по дате отправления: