1)检索死锁进程ID
select * from pg_stat_activity where datname='数据库名' and wait_event_type='Lock';
select pid,query,* from pg_stat_activity where datname='vulnerability-management' and wait_event_type = 'Lock';
找到对用的pid列的值
或
select oid from pg_class where relname='可能锁表了的表' --oid是每个表隐藏的id
select pid from pg_locks where relation='上面查出的oid'
2)将进程杀掉
select pg_cancel_backend("死锁那条数据的pid值");
【Postgres】Postgres查看死锁及解决方法
于 2023-10-30 14:32:20 首次发布