Postgresql 我想删除当前正在使用的复制插槽

Postgresql 我想删除当前正在使用的复制插槽,postgresql,Postgresql,我想删除具有以下内容的复制插槽: select pg_drop_replication_slot("the_slot") 此插槽当前正在使用,因此pg\u drop\u replication\u slot()将无法直接工作 有没有一种方法可以直接或间接地(通过删除角色,…——任何可行的方法)断开replicator与PostgreSQL内部的连接?在我的情况下,我无法停止replicator进程,因为我没有这样做的权利。这取决于您拥有的访问权限 如果您具有服务器的shell访问权限或超级用户

我想删除具有以下内容的复制插槽:

select pg_drop_replication_slot("the_slot")
此插槽当前正在使用,因此
pg\u drop\u replication\u slot()
将无法直接工作


有没有一种方法可以直接或间接地(通过删除角色,…——任何可行的方法)断开replicator与PostgreSQL内部的连接?在我的情况下,我无法停止replicator进程,因为我没有这样做的权利。

这取决于您拥有的访问权限

如果您具有服务器的shell访问权限或超级用户权限,则可以这样做

  • 在shell中,您可以通过
    pg_hba.conf
    锁定复制客户端并重新启动服务器

  • 作为超级用户,您可以使用
    pg\u terminate\u backend
    功能终止WAL发送方进程,并在客户端重新连接之前删除复制插槽

但这些都是坏主意。您应该停止复制客户端。如果你个人不能做到这一点,那么就调用你可以使用的权力