Re: POC: track vacuum/analyze cumulative time per relation

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Alena Rybakina <a.rybakina@postgrespro.ru>
Cc: wenhui qiu <qiuwenhuifx@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-01-10T16:07:43Z
Lists: pgsql-hackers
> this information gives a complete picture of vacuum efficiency, because
> analyzing only total_time statistics does not give a complete picture of
> what vacuum did: was it cleaning almost huge index, cleaning tables or
> just sleeping.

The purpose of total_time is to be able to calculate the average
time of a vacuum per relation from pg_stat_all_tables (by
total_time/vacuum_count) This is useful on its own to be able to
trend slow downs of vacuum ( or improvements after vacuum tuning )
for specific relations.

The work going into [1] is more detailed and will be useful
for deep dive investigations.In short, I think both proposals
have merit.

[1] https://commitfest.postgresql.org/51/5012/

Regards,

Sami



Commits

  1. Track per-relation cumulative time spent in [auto]vacuum and [auto]analyze