在测试不同的场景时,我按照建议运行:
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
我该如何解决?
答案 0 :(得分:3)
您必须先按姓名禁用订阅。
postgres=#\d reportcenter;
reportcenter=# ALTER SUBSCRIPTION mysub DISABLE;
reportcenter=# ALTER SUBSCRIPTION mysub SET (slot_name=NONE);
reportcenter=# DROP SUBSCRIPTION mysub;
答案 1 :(得分:0)
复制插槽是在主节点上创建的,因此您尝试将其放在备用节点上无效并导致错误。
连接到主服务器以删除复制插槽。
由于您未能删除复制槽,因此创建具有相同名称(因此复制槽)的新订阅失败也就不足为奇了。