Add cost-based vacuum delay time to progress views.
This commit adds the amount of time spent sleeping due to
cost-based delay to the pg_stat_progress_vacuum and
pg_stat_progress_analyze system views. A new configuration
parameter named track_cost_delay_timing, which is off by default,
controls whether this information is gathered. For vacuum, the
reported value includes the sleep time of any associated parallel
workers. However, parallel workers only report their sleep time
once per second to avoid overloading the leader process.
Bumps catversion.
Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Co-authored-by: Nathan Bossart <nathandbossart@gmail.com>
Reviewed-by: Sami Imseih <samimseih@gmail.com>
Reviewed-by: Robert Haas <robertmhaas@gmail.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Reviewed-by: Masahiro Ikeda <ikedamsh@oss.nttdata.com>
Reviewed-by: Dilip Kumar <dilipbalaut@gmail.com>
Reviewed-by: Sergei Kornilov <sk@zsrv.org>
Discussion: https://postgr.es/m/ZmaXmWDL829fzAVX%40ip-10-97-1-34.eu-west-3.compute.internal
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/bb8dff9995f2cf501376772898bcbcf58aa05cde
Modified Files
--------------
doc/src/sgml/config.sgml | 24 ++++++++++
doc/src/sgml/monitoring.sgml | 27 +++++++++++
src/backend/catalog/system_views.sql | 6 ++-
src/backend/commands/vacuum.c | 64 +++++++++++++++++++++++++++
src/backend/commands/vacuumparallel.c | 5 +++
src/backend/utils/misc/guc_tables.c | 9 ++++
src/backend/utils/misc/postgresql.conf.sample | 1 +
src/include/catalog/catversion.h | 2 +-
src/include/commands/progress.h | 2 +
src/include/commands/vacuum.h | 3 ++
src/test/regress/expected/rules.out | 6 ++-
11 files changed, 144 insertions(+), 5 deletions(-)