Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как пересоздать таблицу, на которую ссылаются FK / 5 сообщений из 5, страница 1 из 1
10.11.2020, 15:51
    #40016848
Cyrax_02
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как пересоздать таблицу, на которую ссылаются FK
На таблицу ссылается куча 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
10.11.2020, 15:57
    #40016850
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как пересоздать таблицу, на которую ссылаются FK
Cyrax_02,

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

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

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


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