@@ -306,30 +306,24 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
306
306
{
307
307
LVRelState * vacrel ;
308
308
bool verbose ,
309
- instrument ;
309
+ instrument ,
310
+ aggressive ,
311
+ skipwithvm ,
312
+ frozenxid_updated ,
313
+ minmulti_updated ;
314
+ TransactionId OldestXmin ,
315
+ FreezeLimit ;
316
+ MultiXactId MultiXactCutoff ;
317
+ BlockNumber orig_rel_pages ,
318
+ new_rel_pages ,
319
+ new_rel_allvisible ;
310
320
PGRUsage ru0 ;
311
321
TimestampTz starttime = 0 ;
312
- WalUsage walusage_start = pgWalUsage ;
313
- WalUsage walusage = {0 , 0 , 0 };
314
- long secs ;
315
- int usecs ;
316
- double read_rate ,
317
- write_rate ;
318
- bool aggressive ,
319
- skipwithvm ;
320
- bool frozenxid_updated ,
321
- minmulti_updated ;
322
- BlockNumber orig_rel_pages ;
323
- char * * indnames = NULL ;
324
- BlockNumber new_rel_pages ;
325
- BlockNumber new_rel_allvisible ;
326
- double new_live_tuples ;
327
- ErrorContextCallback errcallback ;
328
322
PgStat_Counter startreadtime = 0 ;
329
323
PgStat_Counter startwritetime = 0 ;
330
- TransactionId OldestXmin ;
331
- TransactionId FreezeLimit ;
332
- MultiXactId MultiXactCutoff ;
324
+ WalUsage walusage_start = pgWalUsage ;
325
+ ErrorContextCallback errcallback ;
326
+ char * * indnames = NULL ;
333
327
334
328
verbose = (params -> options & VACOPT_VERBOSE ) != 0 ;
335
329
instrument = (verbose || (IsAutoVacuumWorkerProcess () &&
@@ -557,7 +551,6 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
557
551
* relpages to.
558
552
*/
559
553
new_rel_pages = vacrel -> rel_pages ; /* After possible rel truncation */
560
- new_live_tuples = vacrel -> new_live_tuples ;
561
554
visibilitymap_count (rel , & new_rel_allvisible , NULL );
562
555
if (new_rel_allvisible > new_rel_pages )
563
556
new_rel_allvisible = new_rel_pages ;
@@ -578,7 +571,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
578
571
/* Cannot advance relfrozenxid/relminmxid */
579
572
Assert (!aggressive );
580
573
frozenxid_updated = minmulti_updated = false;
581
- vac_update_relstats (rel , new_rel_pages , new_live_tuples ,
574
+ vac_update_relstats (rel , new_rel_pages , vacrel -> new_live_tuples ,
582
575
new_rel_allvisible , vacrel -> nindexes > 0 ,
583
576
InvalidTransactionId , InvalidMultiXactId ,
584
577
NULL , NULL , false);
@@ -587,7 +580,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
587
580
{
588
581
Assert (vacrel -> scanned_pages + vacrel -> frozenskipped_pages ==
589
582
orig_rel_pages );
590
- vac_update_relstats (rel , new_rel_pages , new_live_tuples ,
583
+ vac_update_relstats (rel , new_rel_pages , vacrel -> new_live_tuples ,
591
584
new_rel_allvisible , vacrel -> nindexes > 0 ,
592
585
FreezeLimit , MultiXactCutoff ,
593
586
& frozenxid_updated , & minmulti_updated , false);
@@ -605,7 +598,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
605
598
*/
606
599
pgstat_report_vacuum (RelationGetRelid (rel ),
607
600
rel -> rd_rel -> relisshared ,
608
- Max (new_live_tuples , 0 ),
601
+ Max (vacrel -> new_live_tuples , 0 ),
609
602
vacrel -> recently_dead_tuples +
610
603
vacrel -> missed_dead_tuples );
611
604
pgstat_progress_end_command ();
@@ -618,6 +611,11 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
618
611
TimestampDifferenceExceeds (starttime , endtime ,
619
612
params -> log_min_duration ))
620
613
{
614
+ long secs ;
615
+ int usecs ;
616
+ WalUsage walusage ;
617
+ double read_rate ,
618
+ write_rate ;
621
619
StringInfoData buf ;
622
620
char * msgfmt ;
623
621
int32 diff ;
@@ -674,7 +672,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
674
672
vacrel -> num_index_scans );
675
673
appendStringInfo (& buf , _ ("pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" ),
676
674
vacrel -> removed_pages ,
677
- vacrel -> rel_pages ,
675
+ new_rel_pages ,
678
676
vacrel -> scanned_pages ,
679
677
orig_rel_pages == 0 ? 100.0 :
680
678
100.0 * vacrel -> scanned_pages / orig_rel_pages );
0 commit comments