Re: Add mode column to pg_stat_progress_vacuum
Shinya Kato <shinya11.kato@gmail.com>
From: Shinya Kato <shinya11.kato@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>, Robert Treat <rob@xzilla.net>, pgsql-hackers@postgresql.org
Date: 2025-10-24T07:14:26Z
Lists: pgsql-hackers
Attachments
- v2-0001-Add-mode-and-reason-columns-to-pg_stat_progress_v.patch (application/octet-stream)
Thank you all for the reviews! On Wed, Oct 8, 2025 at 4:34 AM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > On Tue, Oct 7, 2025 at 12:01 PM Nathan Bossart <nathandbossart@gmail.com> wrote: > > > > On Tue, Oct 07, 2025 at 10:17:38AM -0700, Masahiko Sawada wrote: > > > Right. I think we cannot display both things in one mode column. Since > > > both manual vacuums and anti-wraparound autovacuums can enter the > > > failsafe mode dynamically, if we show "failsafe" in the mode column, > > > we would lose the information "why is this vacuum running". I guess we > > > would need separate columns. For example, I guess that the column > > > showing "how is it operating under the hood" can have three values: > > > "normal", "aggressive" (disables VM optimization), and "failsafe" > > > (implies aggressive vacuum and disables many things to prioritize XID > > > freezing). > > > > Am I understanding correctly that your idea is to have a "reason" column > > that would have values like "manual", "normal autovacuum", and "autovacuum > > for wraparound", and a "mode" column that would have values like "normal", > > "agressive", and "failsafe"? > > Right. The first column provides an insight into whether or not the > running vacuum is cancellable, and the second column provides > information on how vacuums are actually processing tables under the > hood. Users are able to get the former information by checking > pg_stat_activity too but the latter information is available only in > server logs. I have updated the patch according to your comments. I have modified this to display the behavior mode (normal, aggressive, failsafe) in the mode column, and the trigger reason (manual, autovacuum, anti-wraparound) in the reason column -- Best regards, Shinya Kato NTT OSS Center