pg_stat_activity — PostgreSQL statistics view

The PostgreSQL pg_stat_activity statistics view: full column reference (names, types, descriptions), catalog relationships and version support.

Summary

The pg_stat_activity view will have one row per server process, showing information related to the current activity of that process.

(Description quoted from the official PostgreSQL documentation.)

Columns

The pg_stat_activity statistics view exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):

  • 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 wait_event_table.
  • wait_event text
    Wait event name if backend is currently waiting, otherwise NULL. See wait_event_activity_table through wait_event_timeout_table.
  • state text
    Current overall state of this backend. Possible values are: starting: The backend is in initial startup. Client authentication is performed during this phase. active: The backend is executing a query. idle: The backend is waiting for a new client command. idle in transaction: The backend is in a transaction, but is not currently executing a query. idle in transaction (aborted): This state is similar to idle in transaction, except one of the statements in the transaction caused an error. fastpath function call: The backend is executing a fast-path function. disabled: This state is reported if track_activities is disabled in this backend.
  • backend_xid xid
    Top-level transaction identifier of this backend, if any; see transaction_id.
  • 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.

Version applicability

Present in PostgreSQL 17, 18, 19 (verified against each release’s documentation). This is a long-standing system object that also exists in earlier PostgreSQL releases.

Related & references

Reference: PostgreSQL documentation — pg_stat_activity.