pg_cancel_backend这个函数主要是用来取消一个查询(进程),权限必须是管理员或者查询的所有者。
具体使用如下:
首先,查出你要取消的进程号
select procpid from pg_stat_activity where ......;
其次,用这个函数来取消
select pg_cancel_backend(procpid);
这个函数主要是用来回滚事务,但是会话(session)并不会退出去,比如你要用这个函数来终止一个<IDLE>是不可能的。
当一个查询语句查询时间较长时用这个函数偶尔也不好用,这个时候需要多执行几次或去OS上用kill命令来删除这个进程效果就来得快。
可以在master 主机上查看进程,对每个客户端连接,master 都会创建一个进程。
ps -ef |grep -i postgres |grep -i con
转载于:https://blog.51cto.com/jackwxh/1311320