• Tom Lane's avatar
    Modify pgstats code to reduce performance penalties from oversized stats data · d5db3abf
    Tom Lane authored
    files: avoid creating stats hashtable entries for tables that aren't being
    touched except by vacuum/analyze, ensure that entries for dropped tables are
    removed promptly, and tweak the data layout to avoid storing useless struct
    padding.  Also improve the performance of pgstat_vacuum_tabstat(), and make
    sure that autovacuum invokes it exactly once per autovac cycle rather than
    multiple times or not at all.  This should cure recent complaints about 8.1
    showing much higher stats I/O volume than was seen in 8.0.  It'd still be a
    good idea to revisit the design with an eye to not re-writing the entire
    stats dataset every half second ... but that would be too much to backpatch,
    I fear.
    d5db3abf
pgstat.c 77.3 KB