@@ -807,21 +807,21 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
807
807
808
808
if (vacrel -> do_index_vacuuming )
809
809
{
810
- msgfmt = _ (" %u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" );
810
+ msgfmt = _ ("%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" );
811
811
812
812
if (vacrel -> nindexes == 0 || vacrel -> num_index_scans == 0 )
813
- appendStringInfoString (& buf ,_ ("index scan not needed:" ));
813
+ appendStringInfoString (& buf ,_ ("index scan not needed: " ));
814
814
else
815
- appendStringInfoString (& buf ,_ ("index scan needed:" ));
815
+ appendStringInfoString (& buf ,_ ("index scan needed: " ));
816
816
}
817
817
else
818
818
{
819
- msgfmt = _ (" %u pages from table (%.2f%% of total) have %lld dead item identifiers\n" );
819
+ msgfmt = _ ("%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" );
820
820
821
821
if (!vacrel -> failsafe_active )
822
- appendStringInfoString (& buf ,_ ("index scan bypassed:" ));
822
+ appendStringInfoString (& buf ,_ ("index scan bypassed: " ));
823
823
else
824
- appendStringInfoString (& buf ,_ ("index scan bypassed by failsafe:" ));
824
+ appendStringInfoString (& buf ,_ ("index scan bypassed by failsafe: " ));
825
825
}
826
826
orig_rel_pages = vacrel -> rel_pages + vacrel -> pages_removed ;
827
827
appendStringInfo (& buf ,msgfmt ,
@@ -848,12 +848,14 @@ heap_vacuum_rel(Relation rel, VacuumParams *params,
848
848
read_rate ,write_rate );
849
849
if (track_io_timing )
850
850
{
851
- appendStringInfoString (& buf ,_ ("I/OTimings :" ));
851
+ appendStringInfoString (& buf ,_ ("I/Otimings :" ));
852
852
if (pgStatBlockReadTime - startreadtime > 0 )
853
- appendStringInfo (& buf ,_ (" read= %.3f" ),
853
+ appendStringInfo (& buf ,_ (" read: %.3f ms " ),
854
854
(double ) (pgStatBlockReadTime - startreadtime ) /1000 );
855
+ if ((pgStatBlockReadTime - startreadtime > 0 )&& (pgStatBlockWriteTime - startwritetime > 0 ))
856
+ appendStringInfoString (& buf ,_ ("," ));
855
857
if (pgStatBlockWriteTime - startwritetime > 0 )
856
- appendStringInfo (& buf ,_ (" write= %.3f" ),
858
+ appendStringInfo (& buf ,_ (" write: %.3f ms " ),
857
859
(double ) (pgStatBlockWriteTime - startwritetime ) /1000 );
858
860
appendStringInfoChar (& buf ,'\n' );
859
861
}
@@ -1650,7 +1652,7 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive)
1650
1652
*/
1651
1653
if (vacrel -> nindexes == 0 && vacrel -> lpdead_item_pages > 0 )
1652
1654
ereport (elevel ,
1653
- (errmsg ("\"%s\": removed %lld dead item identifiers in %u pages" ,
1655
+ (errmsg ("table \"%s\": removed %lld dead item identifiers in %u pages" ,
1654
1656
vacrel -> relname , (long long )vacrel -> lpdead_items ,
1655
1657
vacrel -> lpdead_item_pages )));
1656
1658
@@ -1673,7 +1675,7 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive)
1673
1675
appendStringInfo (& buf ,_ ("%s." ),pg_rusage_show (& ru0 ));
1674
1676
1675
1677
ereport (elevel ,
1676
- (errmsg ("\"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages" ,
1678
+ (errmsg ("table \"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages" ,
1677
1679
vacrel -> relname ,
1678
1680
(long long )vacrel -> tuples_deleted ,
1679
1681
(long long )vacrel -> num_tuples ,vacrel -> scanned_pages ,
@@ -2177,7 +2179,7 @@ lazy_vacuum(LVRelState *vacrel)
2177
2179
*/
2178
2180
vacrel -> do_index_vacuuming = false;
2179
2181
ereport (elevel ,
2180
- (errmsg ("\"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers" ,
2182
+ (errmsg ("table \"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers" ,
2181
2183
vacrel -> relname ,vacrel -> lpdead_item_pages ,
2182
2184
100.0 * vacrel -> lpdead_item_pages /vacrel -> rel_pages ,
2183
2185
(long long )vacrel -> lpdead_items )));
@@ -2388,8 +2390,8 @@ lazy_vacuum_heap_rel(LVRelState *vacrel)
2388
2390
vacuumed_pages == vacrel -> lpdead_item_pages ));
2389
2391
2390
2392
ereport (elevel ,
2391
- (errmsg ("\"%s\": removed %d dead item identifiers in %u pages" ,
2392
- vacrel -> relname ,tupindex ,vacuumed_pages ),
2393
+ (errmsg ("table \"%s\": removed %lld dead item identifiers in %u pages" ,
2394
+ vacrel -> relname ,( long long ) tupindex ,vacuumed_pages ),
2393
2395
errdetail_internal ("%s" ,pg_rusage_show (& ru0 ))));
2394
2396
2395
2397
/* Revert to the previous phase information for error traceback */
@@ -2625,7 +2627,7 @@ lazy_check_wraparound_failsafe(LVRelState *vacrel)
2625
2627
vacrel -> relnamespace ,
2626
2628
vacrel -> relname ,
2627
2629
vacrel -> num_index_scans ),
2628
- errdetail ("table's relfrozenxid or relminmxid is too far in the past" ),
2630
+ errdetail ("The table's relfrozenxid or relminmxid is too far in the past. " ),
2629
2631
errhint ("Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n"
2630
2632
"You might also need to consider other ways for VACUUM to keep up with the allocation of transaction IDs." )));
2631
2633
@@ -4261,7 +4263,7 @@ vacuum_error_callback(void *arg)
4261
4263
if (BlockNumberIsValid (errinfo -> blkno ))
4262
4264
{
4263
4265
if (OffsetNumberIsValid (errinfo -> offnum ))
4264
- errcontext ("while scanning block %uand offset %u of relation \"%s.%s\"" ,
4266
+ errcontext ("while scanning block %u offset %u of relation \"%s.%s\"" ,
4265
4267
errinfo -> blkno ,errinfo -> offnum ,errinfo -> relnamespace ,errinfo -> relname );
4266
4268
else
4267
4269
errcontext ("while scanning block %u of relation \"%s.%s\"" ,
@@ -4276,7 +4278,7 @@ vacuum_error_callback(void *arg)
4276
4278
if (BlockNumberIsValid (errinfo -> blkno ))
4277
4279
{
4278
4280
if (OffsetNumberIsValid (errinfo -> offnum ))
4279
- errcontext ("while vacuuming block %uand offset %u of relation \"%s.%s\"" ,
4281
+ errcontext ("while vacuuming block %u offset %u of relation \"%s.%s\"" ,
4280
4282
errinfo -> blkno ,errinfo -> offnum ,errinfo -> relnamespace ,errinfo -> relname );
4281
4283
else
4282
4284
errcontext ("while vacuuming block %u of relation \"%s.%s\"" ,