pg_stat_progress_analyze — PostgreSQL statistics view

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

Summary

Whenever ANALYZE is running, the pg_stat_progress_analyze view will contain a row for each backend that is currently running that command. The tables below describe the information that will be reported and provide information about how to interpret it.

(Description quoted from the official PostgreSQL documentation.)

Columns

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

  • pid integer
    Process ID of backend.
  • datid oid
    OID of the database to which this backend is connected.
  • datname name
    Name of the database to which this backend is connected.
  • relid oid
    OID of the table being analyzed.
  • phase text
    Current processing phase. See analyze_phases.
  • sample_blks_total bigint
    Total number of heap blocks that will be sampled.
  • sample_blks_scanned bigint
    Number of heap blocks scanned.
  • ext_stats_total bigint
    Number of extended statistics.
  • ext_stats_computed bigint
    Number of extended statistics computed. This counter only advances when the phase is computing extended statistics.
  • child_tables_total bigint
    Number of child tables.
  • child_tables_done bigint
    Number of child tables scanned. This counter only advances when the phase is acquiring inherited sample rows.
  • current_child_table_relid oid
    OID of the child table currently being scanned. This field is only valid when the phase is acquiring inherited sample rows.
  • delay_time double precision
    Total time spent sleeping due to cost-based delay (see runtime_config_resource_vacuum_cost), in milliseconds (if track_cost_delay_timing is enabled, otherwise zero).
  • started_by text
    Shows what caused the current ANALYZE operation to be started. Possible values are: manual: The analyze was started by an explicit ANALYZE, or by VACUUM with the ANALYZE option. autovacuum: The analyze was started by an autovacuum worker.

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_progress_analyze.