14th September 2023: PostgreSQL 16 Released!
Supported Versions: Current (16) / 15 / 14 / 13 / 12 / 11
Development Versions: devel
Unsupported versions: 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

17.8. Run-Time Statistics

17.8.1. Query and Index Statistics Collector

These parameters control a server-wide statistics collection feature. When statistics collection is enabled, the data that is produced can be accessed via the pg_stat and pg_statio family of system views. Refer to Chapter 25 for more information.

Note: As of PostgreSQL 8.2, stats_command_string controls a separate data collection mechanism that can be turned on or off independently of whether the statistics-collection subprocess is running. The subprocess is only needed to support collection of block-level or row-level statistics.

stats_command_string (boolean)

Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution. This parameter is on by default. Note that even when enabled, this information is not visible to all users, only to superusers and the user owning the session being reported on; so it should not represent a security risk. Only superusers can change this setting.

update_process_title (boolean)

Enables updating of the process title every time a new SQL command is received by the server. The process title is typically viewed by the ps command or in Windows using the Process Explorer. Only superusers can change this setting.

stats_start_collector (boolean)

Controls whether the server should start the statistics-collection subprocess. This is on by default, but may be turned off if you know you have no interest in collecting statistics or running autovacuum. This parameter can only be set at server start, because the collection subprocess cannot be started or stopped on-the-fly. (However, the extent to which statistics are actually gathered can be changed while the server is running, so long as the subprocess exists.)

stats_block_level (boolean)

Enables the collection of block-level statistics on database activity. This parameter is off by default. Only superusers can change this setting.

stats_row_level (boolean)

Enables the collection of row-level statistics on database activity. This parameter is off by default. Only superusers can change this setting.

stats_reset_on_server_start (boolean)

If on, collected block-level and row-level statistics are zeroed out whenever the server is restarted. If off, statistics are accumulated across server restarts. This parameter is off by default. This parameter can only be set at server start.

17.8.2. Statistics Monitoring

log_statement_stats (boolean)
log_parser_stats (boolean)
log_planner_stats (boolean)
log_executor_stats (boolean)

For each query, write performance statistics of the respective module to the server log. This is a crude profiling instrument. log_statement_stats reports total statement statistics, while the others report per-module statistics. log_statement_stats cannot be enabled together with any of the per-module options. All of these options are disabled by default. Only superusers can change these settings.