Re: Add mode column to pg_stat_progress_vacuum

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Robert Treat <rob@xzilla.net>, Shinya Kato <shinya11.kato@gmail.com>, pgsql-hackers@postgresql.org
Date: 2025-10-07T17:45:12Z
Lists: pgsql-hackers
I am bit late to this thread, but I have a comment.

> This patch introduces a mode column to provide this visibility. The
> possible values are:
> - normal: A standard, user-initiated VACUUM or a regular autovacuum run.
> - anti-wraparound: An autovacuum run launched specifically to prevent
> transaction ID wraparound.
> - failsafe: A vacuum that has entered failsafe mode to prevent
> imminent transaction ID wraparound.

The vacuum command detail can now be determined from
pg_stat_activity.query by joining with pg_stat_progress_vacuum, right?
I don't see why this is not sufficient, especially because it already
indicates how the vacuum was triggered, and the autovacuum activity
message also tells you why it was triggered. We could perhaps add "due to
failsafe" to the autovacuum activity message to explicitly show that reason.

--
Sami Imseih
Amazon Web Services (AWS)



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add started_by column to pg_stat_progress_analyze view.

  2. Add mode and started_by columns to pg_stat_progress_vacuum view.