Postgres: удалить запрос ограничения внешнего ключа, застрявший - PullRequest
0 голосов
/ 20 декабря 2018

Я хотел удалить все ограничения внешнего ключа из схемы.Мне удалось удалить ограничения из большинства таблиц, но в нескольких из них запрос на удаление внешнего ключа застревает.

ALTER TABLE table_name DROP CONSTRAINT fkey_name;

Я попытался урезать каскад, но он также застрял.Я удалил все строки из обеих таблиц вручную.Все еще застреваю.

Исправления: застревая, я имею в виду, что запрос продолжает выполняться в течение длительного времени без каких-либо сообщений об ошибках, даже если таблицы пусты.

1 Ответ

0 голосов
/ 21 декабря 2018

Проверьте наличие любых мертвых блокировок, используя

SELECT * FROM pg_stat_activity;

Если есть, то убейте и запустите ниже sql, а затем сбросьте, используя

SELECT pg_terminate_backend(pid);

Если не решено, проверьте любую виртуальную транзакцию

SELECT database, gid FROM pg_prepared_xacts;

Откат с использованием

ПОДГОТОВКА С ОТКЛОНЕНИЕМ 'gid';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...