In this section, we will show you how to check which query is currently running.
You have to make sure that you are logged in as a superuser or as the same database user you want to check out. Also, ensure that the track_activities = on
parameter is set (which it normally should be, being the default setting). If not, check the Updating the parameter file recipe in Chapter 3, Configuration.
To see which connected users are running at this moment, just run the following code:
SELECT datname, usename, state, query FROM pg_stat_activity;
On systems with a lot of users, you may notice that the majority of backends have state
set to idle
. This denotes that no query is actually running, and PostgreSQL is waiting for new commands from the user. The query
field shows the statement that was last executed by that particular backend.
If, on the other hand, you are interested in active queries only, limit your selection to those records...