PostgreSQL杀掉会话

杀掉空闲进程,直接执行以下语句即可
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE state='idle'

======================================================
杀掉指定进程

pg_cancel_backend()
只能关闭当前用户下的后台进程
向后台发送SIGINT信号,用于关闭事务,此时session还在,并且事务回滚

pg_terminate_backend()
需要superuser权限,可以关闭所有的后台进程
向后台发送SIGTERM信号,用于关闭事务,此时session也会被关闭,并且事务回滚

查询被锁定表、对象等(ExclusiveLock查询的是排它锁)
select * from pg_locks a
join pg_class b on a.relation = b.oid
join pg_stat_activity c on a.pid = c.pid
where a.mode like '%ExclusiveLock%';

原文地址:https://www.cnblogs.com/publiter/p/15726936.html