DROP SUBSCRIPTION — удаление подписки
DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
DROP SUBSCRIPTION удаляет подписку из кластера баз данных.
Для выполнения этой команды пользователь должен быть владельцем подписки.
DROP SUBSCRIPTION не может быть выполнена внутри
транзакционного блока, если подписка связана со слотом репликации.
(Для отвязки слота можно использовать ALTER SUBSCRIPTION).
nameИмя удаляемой подписки.
CASCADERESTRICTЭти ключевые слова не оказывают никакого эффекта, поскольку от подписок нет зависимостей.
При удалении подписки, связанной со слотом репликации на удалённом узле
(нормальное состояние), DROP SUBSCRIPTION подключится
к удалённому узлу и попытается удалить слот репликации (и любые оставшиеся
слоты синхронизации таблиц) в рамках своей операции. Это необходимо для
освобождения ресурсов, выделенных для подписки на удалённом узле.
Если это не удаётся — из-за недоступности удалённого узла, невозможности
удалить удалённый слот репликации, его отсутствия или того, что он никогда
не существовал — команда DROP SUBSCRIPTION завершится ошибкой.
Чтобы продолжить в такой ситуации, сначала отключите подписку, выполнив
ALTER SUBSCRIPTION ... DISABLE, а затем отвяжите её
от слота репликации, выполнив
ALTER SUBSCRIPTION ... SET (slot_name = NONE).
После этого DROP SUBSCRIPTION больше не будет предпринимать
никаких действий на удалённом узле. Обратите внимание, что если удалённый
слот репликации всё ещё существует, его (и связанные с ним слоты синхронизации
таблиц) следует удалить вручную; в противном случае он/они продолжат
резервировать WAL и в конечном итоге могут привести к заполнению диска.
См. также Раздел 3.14.2.1.
Если подписка связана со слотом репликации, то DROP
SUBSCRIPTION не может быть выполнена внутри транзакционного блока.
Удалить подписку:
DROP SUBSCRIPTION mysub;
DROP SUBSCRIPTION является расширением Digital Q.DataBase.