powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как отключить внешние ключи при обновлении / удалении данных?
3 сообщений из 3, страница 1 из 1
Как отключить внешние ключи при обновлении / удалении данных?
    #39620694
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Нужно на время выполнения операции удаления записей в главной таблице отключить внешний ключ в подчиненной таблице.
В документации нашел только один способ - создавать внешний ключ как отключаемый и потом операции по удалению данных выполнять в транзакций с SET CONSTRAINTS DEFERRED.

Но есть несколько вопросов:
1. в документации написано что авторСсылочные действия, кроме NO ACTION, нельзя сделать откладываемыми, даже если ограничение объявлено как откладываемое.. У меня действие CASCADE -т.е. его откладываемым сделать нельзя?

2. Как проверить при удалении записей в транзакции с SET CONSTRAINTS DEFERRED что записи в подчиненной таблице удалятся в конце транзакции?

3. Если главную таблицу выгрузить через pg_dump в отдельную БД, удалить все что нужно и загрузить также обратно, при загрузке будут ли выполняться ограничения внешнего ключа в подчиненной?
...
Рейтинг: 0 / 0
Как отключить внешние ключи при обновлении / удалении данных?
    #39620701
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По п.3 уже разобрался, понял что не получиться.
...
Рейтинг: 0 / 0
Как отключить внешние ключи при обновлении / удалении данных?
    #39625150
Синий Слон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmb17,

мож поможет:

set session_replication_role to 'replica';
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как отключить внешние ключи при обновлении / удалении данных?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]