Re: Dferred constraints not deferred?

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Dferred constraints not deferred?
Дата
Msg-id 20030203085855.K90013-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Dferred constraints not deferred?  (Jean-Christian Imbeault <jc@mega-bucks.co.jp>)
Список pgsql-general
On Mon, 3 Feb 2003, Jean-Christian Imbeault wrote:

> I'm trying to drop a table inside a transaction with all constraints
> deferred, and then re-create the table, but PG won't let me ..
>
> TAL=# begin;
> BEGIN
> TAL=# SET CONSTRAINTS ALL DEFERRED;
> SET CONSTRAINTS
> TAL=# drop table invoices;
> NOTICE:  constraint $1 on table invoice_admin_memo depends on table invoices
> NOTICE:  constraint $1 on table req_dlv_date depends on table invoices
> NOTICE:  constraint $1 on table invoice_li depends on table invoices
> NOTICE:  constraint $1 on table invoice_emails depends on table invoices
> ERROR:  Cannot drop table invoices because other objects depend on it
>          Use DROP ... CASCADE to drop the dependent objects too
>
> I tought the point of "SET CONSTRAINTS ALL DEFERRED" was to make
> transaction skip constraint checking until the end of a transaction ...
> But in this case the foreign key constraints a checked right away ...
>
> What I would like is to drop the table and recreate it without having PG
> complain about these FK constraints until the very end of the
> transaction (at which time all data will be consistant) ... is this
> possible?

Not really.  Deferrability refers to the "check" time of the constraint
which is unrelated to the drops that are necessary for a table drop which
AFAIR was direct text in the drops.


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

Предыдущее
От: Greg Stark
Дата:
Сообщение: Re: Query plan question, and a memory leak
Следующее
От: gilles Darold
Дата:
Сообщение: OpenLDAP / PostgreSQL