首页 > 解决方案 > postgresql 逻辑复制 - 无法删除订阅

问题描述

在测试不同的场景时,我按照建议运行:

alter subscription mysub set (slot_name = NONE);

drop subscription mysub;

我现在收到一个错误:

postgres=# select pg_drop_replication_slot('mysub');
ERROR:  replication slot "mysub" does not exist

postgres=# create subscription mysub connection 'host=192.168.1.140 port=5432 user=postgres dbname=postgres' publication mypub, insert_only;
ERROR:  could not create replication slot "mysub": ERROR:  replication slot "mysub" already exists

postgres=# drop subscription mysub;
ERROR:  subscription "mysub" does not exist

我该如何解决?

标签: postgresql

解决方案


您必须先按名称禁用您的订阅。

postgres=#\d reportcenter;
reportcenter=# ALTER SUBSCRIPTION mysub DISABLE;
reportcenter=# ALTER SUBSCRIPTION mysub SET (slot_name=NONE);
reportcenter=# DROP SUBSCRIPTION mysub;

https://dba.stackexchange.com/questions/207653/cannot-drop-database-with-logical-replication?answertab=votes#tab-top


推荐阅读