Checking which queries are active or blocked
Here, we will show you how to find out whether a query is actually running or waiting for another query.
Getting ready
If you are logged in as superuser, you will have full access to monitoring information.
How to do it…
Follow these steps to check if a query is waiting for another query:
- Run the following query:
SELECT datname, usename, wait_event_type, wait_event, backend_type, query FROM pg_stat_activity WHERE wait_event_type IS NOT NULL AND wait_event_type NOT IN ('Activity', 'Client');
- You will receive the following output:
-[ RECORD 1 ]---+----------------- datname | postgres usename | gianni wait_event_type | Lock wait_event | relation backend_type | client backend query | select * from t;
How it works…
The pg_stat_activity
system view includes the wait_event_type
and wait_event
columns, which are set to the kind of wait, and to the kind of object that is blocked, respectively. The backend_type
column indicates...