会话出现了锁等待,想要快速查询到堵塞的会话,可以使用 sys_blocking_pids 函数来实现这一目的。
sys_blocking_pids:获取哪些会话阻塞了某个会话(输入参数).
sys_backend_pid:返回当前会话的pid
示例:
会话1:
test=# select sys_backend_pid(); sys_backend_pid
-----------------89147
(1 行记录)test=# begin;
BEGIN
test=# update t_pindex set name ='QQ' where id =1;
UPDATE 1会话2:(出现等待)
test=# select sys_backend_pid(); pg_backend_pid
----------------96639
(1 行记录)
test=# truncate table t_pindex; 会话3:test=# select sys_blocking_pids(96639);sys_blocking_pids
-------------------{89147}
(1 行记录)