> Ideally we would have something like checkpoint_warning that warns users
> in the log when there are too few autovacuum workers and cleanup is
> being delayed.
I don't think that any table-stats based approach is going to work. I
think you need to measure the queue of tables which need autovacuuming.So you do something like:
If > 10% of tables and > 10 tables need autovac/autoanalyze for more
than one polling interval in a row, then emit a warning.
Note that there are solutions other than adding workers; the user could
also lower the polling interval, decrease vacuum_delay, or do other
things to make autovac faster.
This would require tracking stats about the size of the autovac queue.
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com