pgsql: Unify VACUUM VERBOSE and autovacuum logging. - Mailing list pgsql-committers

From Peter Geoghegan
Subject pgsql: Unify VACUUM VERBOSE and autovacuum logging.
Date
Msg-id E1n8XLC-0005fP-2V@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Unify VACUUM VERBOSE and autovacuum logging.

The log_autovacuum_min_duration instrumentation used its own dedicated
code for logging, which was not reused by VACUUM VERBOSE.  This was
highly duplicative, and sometimes led to each code path using slightly
different accounting for essentially the same information.

Clean things up by making VACUUM VERBOSE reuse the same instrumentation
code.  This code restructuring changes the structure of the VACUUM
VERBOSE output itself, but that seems like an overall improvement.  The
most noticeable change in VACUUM VERBOSE output is that it no longer
outputs a distinct message per index per round of index vacuuming.  Most
of the same information (about each index) is now shown in its new
per-operation summary message.  This is far more legible.

A few details are no longer displayed by VACUUM VERBOSE, but that's no
real loss in practice, especially in the common case where we don't need
multiple index scans/rounds of vacuuming.  This super fine-grained
information is still available via DEBUG2 messages, which might still be
useful in debugging scenarios.

VACUUM VERBOSE now shows new instrumentation, which is typically very
useful: all of the log_autovacuum_min_duration instrumentation that it
missed out on before now.  This includes information about WAL overhead,
buffers hit/missed/dirtied information, and I/O timing information.

VACUUM VERBOSE still retains a few INFO messages of its own.  This is
limited to output concerning the progress of heap rel truncation, as
well as some basic information about parallel workers.  These details
are still potentially quite useful.  They aren't a good fit for the log
output, which must summarize the whole operation.

Author: Peter Geoghegan <pg@bowt.ie>
Reviewed-By: Masahiko Sawada <sawada.mshk@gmail.com>
Reviewed-By: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CAH2-WzmW4Me7_qR4X4ka7pxP-jGmn7=Npma_-Z-9Y1eD0MQRLw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/49c9d9fcfa9ae3403617b1a292f2425374219131

Modified Files
--------------
doc/src/sgml/config.sgml              |  10 +-
src/backend/access/heap/vacuumlazy.c  | 221 ++++++++++++----------------------
src/backend/commands/vacuum.c         |  21 +---
src/backend/commands/vacuumparallel.c |   5 +-
src/include/commands/vacuum.h         |   6 +-
5 files changed, 93 insertions(+), 170 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Fix possible HOT corruption when RECENTLY_DEAD changes to DEAD w
Next
From: Tomas Vondra
Date:
Subject: pgsql: Ignore extended statistics for inheritance trees