sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur upptäcker jag en fråga som håller låset i Postgres?

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;


  1. Hur man anropar en Oracle PL/SQL-objekt supermetod

  2. 15 Användbara MySQL/MariaDB-prestandajusteringar och optimeringstips

  3. Sammanfoga flera tabeller i SQL

  4. Hur man löser behörighetsproblem vid återställning av PostgreSQL-databas