Use pgBufferUsage for block reporting in analyze

Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>

From: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2024-05-10T08:54:07Z
Lists: pgsql-hackers

Attachments

Hi,

Analyze logs within autovacuum uses specific variables
VacuumPage{Hit,Miss,Dirty} to track the buffer usage count. However,
pgBufferUsage already provides block usage tracking and handles more cases
(temporary tables, parallel workers...).

Those variables were only used in two places, block usage reporting in
verbose vacuum and analyze. 5cd72cc0c5017a9d4de8b5d465a75946da5abd1d
removed their usage in the vacuum command as part of a bugfix.

This patch replaces those Vacuum specific variables by pgBufferUsage
in analyze. This makes VacuumPage{Hit,Miss,Dirty} unused and removable.
This commit removes both their calls in bufmgr and their declarations.

Regards,
Anthonin

Commits

  1. Add WAL usage reporting to ANALYZE VERBOSE output.

  2. Add resource statistics reporting to ANALYZE VERBOSE.

  3. Use pgBufferUsage for buffer usage tracking in analyze.

  4. Fix parallel vacuum buffer usage reporting.