Kể từ 9.6, điều này dễ dàng hơn rất nhiều vì nó đã giới thiệu hàm pg_blocking_pids()
để tìm các phiên đang chặn một phiên khác.
Vì vậy, bạn có thể sử dụng một cái gì đó như thế này:
select pid,
usename,
pg_blocking_pids(pid) as blocked_by,
query as blocked_query
from pg_stat_activity
where cardinality(pg_blocking_pids(pid)) > 0;