如何禁用 postgres 上的replication_slot

Sal*_*aro 8 postgresql replication

有没有办法禁用特定的replication_slot?当我尝试删除它时,出现错误,因为它处于活动状态。谢谢

jja*_*nes 16

不,您需要在删除之前在副本端将其关闭。如果你做不到这一点,那么你必须终止 wal 发送者,然后在它有机会再次启动之前删除该插槽。由于这是一场竞赛,因此您应该安排在与终止命令相同的击键上提交放下命令。

select pg_drop_replication_slot('rep_slot');
    ERROR:  replication slot "rep_slot" is active for PID 162564
select pg_terminate_backend(162564); select pg_drop_replication_slot('rep_slot');
Run Code Online (Sandbox Code Playgroud)