I think the 2nd chunk here could say "if (instrument)" like the first:
> @@ -482,8 +480,10 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, > TransactionId FreezeLimit; > MultiXactId MultiXactCutoff; > > - /* measure elapsed time iff autovacuum logging requires it */ > - if (IsAutoVacuumWorkerProcess() && params->log_min_duration >= 0) > + verbose = (params->options & VACOPT_VERBOSE) != 0; > + instrument = (verbose || (IsAutoVacuumWorkerProcess() && > + > params->log_min_duration >= 0)); > + if (instrument) ... > @@ -702,12 +705,13 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, > vacrel->new_dead_tuples); > pgstat_progress_end_command(); > > - /* and log the action if appropriate */ > - if (IsAutoVacuumWorkerProcess() && params->log_min_duration >= 0) > - if (IsAutoVacuumWorkerProcess() && params->log_min_duration >= 0) > + /* Output instrumentation where appropriate */ > + if (verbose || > + (IsAutoVacuumWorkerProcess() && params->log_min_duration >= > 0)) 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: > INFO: table "public.foo": found 0 removable, 54 nonremovable row versions in > 1 out of 45 pages ... > INFO: finished vacuuming "regression.public.foo": index scans: 0 > pages: 0 removed, 45 remain, 0 skipped due to pins, 0 skipped frozen If the format of autovacuum output were to change, maybe it's an opportunity to show some of the stuff Jeff mentioned: |Also, I'd appreciate a report on how many hint-bits were set, and how many |pages were marked all-visible and/or frozen -- Justin