See who is blocking whom.

Paste the output of a blocking query. The viewer draws the chain, finds the root blocker and gives you the query to look at it next.

SQL Server · PostgreSQL · MySQLFree · runs in your browser · nothing is uploaded

Works with results copied from SSMS, Azure Data Studio, DBeaver, psql, pgAdmin or the mysql client: tab, comma, pipe or fixed-width columns. It needs a session column (session_id, pid, spid) and a blocker column (blocking_session_id, blocked_by, BlkBy, blocking_pid).

Nothing pasted yetRun the blocking query from the guide, copy the results with headers, and paste them on the left. Or try a sample.

How it works

The viewer reads the pasted text in your browser. Nothing is sent anywhere, so you can paste production output.

  • Each row is a waiting session and the session it waits for.
  • A root blocker blocks others but is not blocked itself. Ending a session in the middle of a chain fixes nothing.
  • A root blocker that is missing from your rows is usually idle with an open transaction. It holds locks without running anything, so blocking queries don't list it as a request.
  • Sessions that wait for each other in a loop are a deadlock.

Queries that produce the right output

Blocking, drawn live in Quorum

Quorum's incident view shows who waits for whom, with the root blocker, transaction age and owning program, without copying and pasting. A free 14-day trial is coming soon; request access to hear first.