Peter Geoghegan <p...@bowt.ie> writes: > We already *almost* pay the full cost of durably storing the > information used by autovacuum.c's relation_needs_vacanalyze() to > determine if a VACUUM is required -- we're only missing > new_dead_tuples/tabentry->n_dead_tuples. Why not go one tiny baby step > further to fix this issue?
Definitely worth thinking about, but I'm a little confused about how you see this working. Those pg_class fields are updated by vacuum (or analyze) itself. How could they usefully serve as input to autovacuum's decisions? > Admittedly, storing new_dead_tuples durably is not sufficient to allow > ANALYZE to be launched on schedule when there is a hard crash. It is > also insufficient to make sure that insert-driven autovacuums get > launched on schedule. I'm not that worried about the former case, but the latter seems like kind of a problem. regards, tom lane