• Tom Lane's avatar
    Fix VACUUM's reporting of dead-tuple counts to the stats collector. · 115f4141
    Tom Lane authored
    Historically, VACUUM has just reported its new_rel_tuples estimate
    (the same thing it puts into pg_class.reltuples) to the stats collector.
    That number counts both live and dead-but-not-yet-reclaimable tuples.
    This behavior may once have been right, but modern versions of the
    pgstats code track live and dead tuple counts separately, so putting
    the total into n_live_tuples and zero into n_dead_tuples is surely
    pretty bogus.  Fix it to report live and dead tuple counts separately.
    
    This doesn't really do much for situations where updating transactions
    commit concurrently with a VACUUM scan (possibly causing double-counting or
    omission of the tuples they add or delete); but it's clearly an improvement
    over what we were doing before.
    
    Hari Babu, reviewed by Amit Kapila
    115f4141
pgstat.c 133 KB