1.查询死锁进程
select pid, query from pg_stat_activity where datname='数据库名' and wait_event_type = 'Lock';
ps:wait_event_type 条件可以不写查询所有进程看看
通过进程id解锁
select pg_terminate_backend('pid');
其中有一个问题是解锁之后再执行删除表等操作时候依然会被锁,出现这种情况就需要查看其他的进程

本文介绍如何通过SQL查询死锁进程,使用`pg_terminate_backend`解锁,并强调了避免死锁的关键在于检查插入、更新操作。遇到解锁失效需排查未完成的事务。核心内容包括锁定检查和进程管理。
select pid, query from pg_stat_activity where datname='数据库名' and wait_event_type = 'Lock';
select pg_terminate_backend('pid');

1504
6350
387

被折叠的 条评论
为什么被折叠?