autovacuum

From: "Noah Freire" <noah(dot)freire(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: autovacuum
Date: 2008-10-29 18:39:22
Message-ID: d8dd025a0810291139x658d600uda80175344ce2436@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Thom Brown 2008-10-29 18:57:33 Re: Can't restart Postgres
Previous Message Scott Marlowe 2008-10-29 18:38:12 Re: Can't restart Postgres