Sedan 9.6 är detta mycket enklare eftersom det introducerade funktionen pg_blocking_pids()
för att hitta de sessioner som blockerar en annan session.
Så du kan använda något sånt här:
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;