Lists: | pgsql-ru-general |
---|
From: | Shestakov Nikolay <nshestakov(at)naumen(dot)ru> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | как отключить foreign key |
Date: | 2008-08-14 09:10:17 |
Message-ID: | 48A3F679.3060807@naumen.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-ru-general |
Добрый день!
При изменение структуры БД иногда требуется на время отключить foreign
key. В oracle это делается так
ALTER TABLE table MODIFY CONSTRAINT constraint ENABLE/DISABLE
А как это делается на postgresql?
From: | "Ivan Zolotukhin" <ivan(dot)zolotukhin(at)gmail(dot)com> |
---|---|
To: | "Shestakov Nikolay" <nshestakov(at)naumen(dot)ru> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: как отключить foreign key |
Date: | 2008-08-14 09:41:08 |
Message-ID: | 751e56400808140241w80ff1e7h58905b7d1cc6e67@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-ru-general |
Добрый день,
Сделайте все FKs, которые хотите отключить на время, DEFERRED (см. ман
по foreign keys). Потом в DDL-транзакции в начале просто указывайте
SET CONSTRAINTS ALL DEFERRED; и целостность базы будет проверяться
только в самом конце при операции COMMIT.
--
Regards,
Ivan
2008/8/14 Shestakov Nikolay <nshestakov(at)naumen(dot)ru>:
> Добрый день!
>
> При изменение структуры БД иногда требуется на время отключить foreign key.
> В oracle это делается так
>
> ALTER TABLE table MODIFY CONSTRAINT constraint ENABLE/DISABLE
>
> А как это делается на postgresql?
>
> --
> Sent via pgsql-ru-general mailing list (pgsql-ru-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-ru-general
>