diff options
| author | Nathan Bossart <nathan@postgresql.org> | 2025-02-11 16:38:14 -0600 |
|---|---|---|
| committer | Nathan Bossart <nathan@postgresql.org> | 2025-02-11 16:38:14 -0600 |
| commit | bb8dff9995f2cf501376772898bcbcf58aa05cde (patch) | |
| tree | 48b3befec7d9e729e376fb9cc652cfb76c302dc5 /src/include/commands/vacuum.h | |
| parent | e5b0b0ce150972bf162a059430d84e5f8e07cf30 (diff) | |
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
Diffstat (limited to 'src/include/commands/vacuum.h')
| -rw-r--r-- | src/include/commands/vacuum.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/commands/vacuum.h b/src/include/commands/vacuum.h index 7fbb738eb8f..1571a66c6bf 100644 --- a/src/include/commands/vacuum.h +++ b/src/include/commands/vacuum.h @@ -303,6 +303,7 @@ extern PGDLLIMPORT int vacuum_multixact_freeze_min_age; extern PGDLLIMPORT int vacuum_multixact_freeze_table_age; extern PGDLLIMPORT int vacuum_failsafe_age; extern PGDLLIMPORT int vacuum_multixact_failsafe_age; +extern PGDLLIMPORT bool track_cost_delay_timing; /* * Relevant for vacuums implementing eager scanning. Normal vacuums may @@ -330,6 +331,8 @@ extern PGDLLIMPORT bool VacuumFailsafeActive; extern PGDLLIMPORT double vacuum_cost_delay; extern PGDLLIMPORT int vacuum_cost_limit; +extern PGDLLIMPORT int64 parallel_vacuum_worker_delay_ns; + /* in commands/vacuum.c */ extern void ExecVacuum(ParseState *pstate, VacuumStmt *vacstmt, bool isTopLevel); extern void vacuum(List *relations, VacuumParams *params, |
