sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo detectar la consulta que mantiene el bloqueo en Postgres?

Desde 9.6 esto es mucho más fácil ya que introdujo la función pg_blocking_pids() para encontrar las sesiones que están bloqueando otra sesión.

Así que puedes usar algo como esto:

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;