powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как пересоздать таблицу, на которую ссылаются FK
5 сообщений из 5, страница 1 из 1
Как пересоздать таблицу, на которую ссылаются FK
    #40016848
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На таблицу ссылается куча FK из других таблиц. Необходимо эту таблицу удалить и создать заново, не удаляя FK .
Варианты
Код: sql
1.
2.
3.
ALTER table_with_fk DISABLE TRIGGER ALL;
SET session_replication_role = 'replica';
SET CONSTRAINTS fk DEFERRED";

проблему не решают, т.к. в сабже проблема касается зависимостей объектов , а указанные варианты всего лишь отключают проверку системных триггеров на FK, а зависимости объектов (в данном случае FK-таблица ) сохраняются и не дают удалить таблицу.
...
Рейтинг: 0 / 0
Как пересоздать таблицу, на которую ссылаются FK
    #40016850
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02,

Никак.
И значит надо другой путь искать начиная с вопроса "а зачем вам это надо и чем вас truncate не устраивает для этого".

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Как пересоздать таблицу, на которую ссылаются FK
    #40016856
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk И значит надо другой путь искать начиная с вопроса "а зачем вам это надо и чем вас truncate не устраивает для этого".Это один из вариантов решения проблемы наследования автогенерируемого столбца - путём пересоздания дочерней таблицы.
...
Рейтинг: 0 / 0
Как пересоздать таблицу, на которую ссылаются FK
    #40017285
big-trot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cyrax_02,

Клонируете таблицу с данными, а потом пересоздаете внешние ключи на новую таблицу, а предыдущие удаляете. В принципе можно написать скрипт и выполнить в одной тразакции.
...
Рейтинг: 0 / 0
Как пересоздать таблицу, на которую ссылаются FK
    #40017393
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-trotКлонируете таблицу с данными, а потом пересоздаете внешние ключи на новую таблицу, а предыдущие удаляете.Так этот вариант - то же самое, что и пересоздание внешних ключей (удаляем FK - пересоздаём таблицу - создаём FK).
Согласно сабжу, внешние ключи не должны удаляться.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как пересоздать таблицу, на которую ссылаются FK
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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