Joe Miller <joe.d.miller@gmail.com> writes:
> The autovacuum daemon currently uses the number of inserted and
> updated tuples to determine if it should run VACUUM ANALYZE on a
> table.� Why doesn�t it consider deleted tuples as well?
I think you misread the code.
Now there *is* a problem, pre-9.0, if your update pattern is such that
most or all updates are HOT updates. To quote from the 9.0 alpha
release notes:
Revise pgstat's tracking of tuple changes to
improve the reliability of decisions about when to
auto-analyze. The previous code depended on n_live_tuples +
n_dead_tuples - last_anl_tuples, where all three of these
numbers could be bad estimates from ANALYZE itself. Even
worse, in the presence of a steady flow of HOT updates and
matching HOT-tuple reclamations, auto-analyze might never
trigger at all, even if all three numbers are exactly right,
because n_dead_tuples could hold steady.
It's not clear to me if that matches your problem, though.
regards, tom lane