Re: Unifying VACUUM VERBOSE and log_autovacuum_min_duration output - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: Unifying VACUUM VERBOSE and log_autovacuum_min_duration output
Date
Msg-id CAH2-Wz=ybsM15muqM31YR2+8826P08P5-8y_QFpguYa1qoXPwg@mail.gmail.com
Whole thread Raw
In response to Re: Unifying VACUUM VERBOSE and log_autovacuum_min_duration output  (Justin Pryzby <pryzby@telsasoft.com>)
List pgsql-hackers
On Mon, Nov 29, 2021 at 8:19 PM Justin Pryzby <pryzby@telsasoft.com> wrote:
> I think the 2nd chunk here could say "if (instrument)" like the first:

I agree that that would be clearer.

> Autovacuum's format doesn't show the number of scanned pages ; it shows how
> many pages were skipped due to frozen bit, but not how many were skipped due to
> the all visible bit:

That's a weird historical accident. I had planned on fixing that as
part of ongoing refactoring work [1].

The short explanation for why it works that way goes like this: while
it makes zero practical sense (who wants to see how many frozen pages
we skipped, without also seeing merely all-visible pages skipped?), it
does make some sense when your starting point is the code itself.

> If the format of autovacuum output were to change, maybe it's an opportunity to
> show some of the stuff Jeff mentioned:

You must be referencing the thread again, from your earlier message --
you must mean Jeff Janes here.

Jeff said something about the number of all-visible pages accessed
(i.e. not skipped over) being implicit. For what it's worth, that
isn't true in the general case -- there simply is no reliable way to
see the total number of pages that were skipped using the VM, as of
right now.

> |Also, I'd appreciate a report on how many hint-bits were set, and how many
> |pages were marked all-visible and/or frozen

I will probably also add the latter in the Postgres 15 cycle.
Hint-bits-set is much harder, and not likely to happen soon.

[1] https://postgr.es/m/CAH2-Wznp=c=Opj8Z7RMR3G=ec3_JfGYMN_YvmCEjoPCHzWbx0g@mail.gmail.com
--
Peter Geoghegan



pgsql-hackers by date:

Previous
From: Dilip Kumar
Date:
Subject: Re: Can I assume relation would not be invalid during from ExecutorRun to ExecutorEnd
Next
From: Amit Kapila
Date:
Subject: Re: row filtering for logical replication