PostgreSQL table contains a lot of useful information about database sessions.
select pid as process_id, usename as username, datname as database_name, client_addr as client_address, application_name, backend_start, state, state_change from pg_stat_activity;
- process_id - process ID of this backend
- username - name of the user logged into this backend
- database_name - name of the database this backend is connected to
- client_address - IP address of the client connected to this backend
- application_name - name of the application that is connected to this backend
- backend_start - time when this process was started. For client backends, this is the time the client connected to the server.
- state - current overall state of this backend. Possible values are:
- idle in transaction
- idle in transaction (aborted)
- fastpath function call
- state_change - time when the state was last changed
- One row: represents one active connection
- Scope of rows: all active connections
You can see session list on our test server.
In the Browser pane, select our database (1) and then click on the Dashboard tab (2). In the bottom of page there is Server Activity panel which contain all connected sessions (3).