PostgreSQL 18 ← 17
STATISTICS VIEW · Statistics view
pg_stat_activity
The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process. Here are examples of how wait events can be viewed:
Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗
Columns PostgreSQL 18
pg_stat_activity| COLUMN | TYPE | DESCRIPTION |
|---|---|---|
datid |
oid |
OID of the database this backend is connected to |
datname |
name |
Name of the database this backend is connected to |
pid |
integer |
Process ID of this backend |
leader_pid |
integer |
Process ID of the parallel group leader if this process is a parallel query worker, or process ID of the leader apply worker if this process is a parallel apply worker. NULL indicates that this process is a parallel group leader or leader apply worker, or does not participate in any parallel operation. |
usesysid |
oid |
OID of the user logged into this backend |
usename |
name |
Name of the user logged into this backend |
application_name |
text |
Name of the application that is connected to this backend |
client_addr |
inet |
IP address of the client connected to this backend. If this field is null, it indicates either that the client is connected via a Unix socket on the server machine or that this is an internal process such as autovacuum. |
client_hostname |
text |
Host name of the connected client, as reported by a reverse DNS lookup of client_addr. This field will only be non-null for IP connections, and only when log_hostname is enabled. |
client_port |
integer |
TCP port number that the client is using for communication with this backend, or -1 if a Unix socket is used. If this field is null, it indicates that this is an internal server process. |
backend_start |
timestamp with time zone |
Time when this process was started. For client backends, this is the time the client connected to the server. |
xact_start |
timestamp with time zone |
Time when this process' current transaction was started, or null if no transaction is active. If the current query is the first of its transaction, this column is equal to the query_start column. |
query_start |
timestamp with time zone |
Time when the currently active query was started, or if state is not active, when the last query was started |
state_change |
timestamp with time zone |
Time when the state was last changed |
wait_event_type |
text |
The type of event for which the backend is waiting, if any; otherwise NULL. See Table 27.4. |
wait_event |
text |
Wait event name if backend is currently waiting, otherwise NULL. See Table 27.5 through Table 27.13. |
state |
text |
Current overall state of this backend. Possible values are: |
backend_xid |
xid |
Top-level transaction identifier of this backend, if any; see Section 67.1. |
backend_xmin |
xid |
The current backend's xmin horizon. |
query_id |
bigint |
Identifier of this backend's most recent query. If state is active this field shows the identifier of the currently executing query. In all other states, it shows the identifier of last query that was executed. Query identifiers are not computed by default so this field will be null unless compute_query_id parameter is enabled or a third-party module that computes query identifiers is configured. |
query |
text |
Text of this backend's most recent query. If state is active this field shows the currently executing query. In all other states, it shows the last query that was executed. By default the query text is truncated at 1024 bytes; this value can be changed via the parameter track_activity_query_size. |
backend_type |
text |
Type of current backend. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, archiver, standalone backend, startup, walreceiver, walsender, walwriter and walsummarizer. In addition, background workers registered by extensions may have additional types. |
Columns marked "implicit" are not included in SELECT *; some early statistics views are completed from same-version source, and the extra provenance is shown in the column description.
Common system columns 0
System attributes PostgreSQL provides, normally not expanded by SELECT *. Kept separately so they are not mixed in with ordinary columns.
| Columns | Type | attnum |
|---|
Column evolution matrix
Hover a cell for the column type9.0 is the coverage baseline; a column already present in the baseline is not marked as added. The matrix aligns columns by name, so a rename appears as the old column removed and a new column added.
Evolution timeline
Changes between adjacent majorsPostgreSQL 17 ← 16
PostgreSQL 16 ← 15
PostgreSQL 14 ← 13
PostgreSQL 13 ← 12
PostgreSQL 12 ← 11
PostgreSQL 11 ← 10
PostgreSQL 10 ← 9.6
PostgreSQL 9.6 ← 9.5
PostgreSQL 9.5 ← 9.4
PostgreSQL 9.4 ← 9.3
PostgreSQL 9.2 ← 9.1
PostgreSQL 9.1 ← 9.0
Compare any two versions
Pick two versions to see added, removed, and retyped columns. The interactive comparison needs JavaScript; the evolution timeline reads fine without it.