I feel very ashamed, as I've found the reason - the pg_autovacuum was not running at all :( About month ago we've upgraded to PG 8.1, since then the database was running without a restart but noone noticed the warning about enabling stats_start_collector/stats_row_level. I've noticed that only for the new tables (having 0 values in all columns), as most of the other tables are not changing very frequently (resp. have about the same number of inserts and deletes). So now the pg_autovacuum is up and running, and I'll check how it works tomorrow. But I guess this time it'll be fine. Tomas > Tomas Vondra wrote: >> Hello, >> >> I have a simple question about auto-vacuuming. We are running a Postgres >> 8.1 and I've noticed that some of the tables are not analyzed by the >> pg_autovacuum daemon. That is - when I select the rows from pg_class, >> all the important values (relpages, reltuples) are 0. >> >> I've noticed this in case of newly created tables (that is not older >> than 1 month). My 'theory' is this - the table has to be analyzed by >> hand at the beginning, otherwise the pg_autovacuum won't process it. Am >> I right? > > Hum. Just by inserting tuples into those tables, autovacuum should "be > able to see" them. Autovacuum won't touch, and indeed won't even > consider, tables that are just created. But as soon as you insert a > single tuple in them, it will start to consider vacuuming or analyzing > them. > > If you insert a hundred thousand rows in a table, autovacuum most > certainly should analyze it. If it's not, we'd really like to know why. >