autovacuum - Mailing list pgsql-general

From Noah Freire
Subject autovacuum
Date
Msg-id d8dd025a0810291139x658d600uda80175344ce2436@mail.gmail.com
Whole thread Raw
Responses Re: autovacuum  ("Matthew T. O'Connor" <matthew@zeut.net>)
List pgsql-general
Hello,

I have a table (accounts) with 600,000,000 rows. A heavy high-concurrent workload that makes mostly updates on this table generates a lot of dead tuples in its run, which is expected due to MVCC.
The problem is that even though autovacuum is enabled, the autovacuum worker does not vacuum this table (I entered custom autovacuum settings for this table in pg_autovacuum to try to force a situation). Autovacuum is working for other smaller tables but not for accounts.

<2008-10-29 11:09:03.453 PDT>DEBUG: 00000: accounts: vac: 16697969 (threshold 6000050), anl: 16697969 (threshold 120000048)
<2008-10-29 11:09:05.610 PDT>DEBUG: 00000: accounts: vac: 16699578 (threshold 6000050), anl: 16699578 (threshold 120000048)
<2008-10-29 11:10:03.563 PDT>DEBUG: 00000: accounts: vac: 16735906 (threshold 6000050), anl: 16735906 (threshold 120000048)


please check the first log message: the vacuum threshold is 6,000,050 rows and the number of dead tuples is 16,697,969. Even though the number of dead_tuples is greater than the threshold the autovacuum is not being triggered for this table. So, besides this condition (dead_tuples > threshold) what else is taken into account by autovacuum?

Thank you,

-Noah

pgsql-general by date:

Previous
From: "Thom Brown"
Date:
Subject: Re: Can't restart Postgres
Next
From: "Matthew T. O'Connor"
Date:
Subject: Re: autovacuum