autovacuum: I need some explanation - Mailing list pgsql-hackers

From Noah Freire
Subject autovacuum: I need some explanation
Date
Msg-id d8dd025a0810291126j430b4cbbl940bcb6053964809@mail.gmail.com
Whole thread Raw
Responses Re: autovacuum: I need some explanation
List pgsql-hackers
Hello,<br /><p>I have a table (accounts) with 600,000,000 rows. A heavy high-concurrent workload that makes mostly
updateson this table generates a lot of dead tuples in its run, which is expected due to MVCC.<br /> The problem is
thateven though autovacuum is enabled, the autovacuum worker does not vacuum this table (I entered custom autovacuum
settingsfor this table in pg_autovacuum to try to force a situation). Autovacuum is working for other smaller tables
butnot for accounts.<p><2008-10-29 11:09:03.453 PDT>DEBUG: 00000: accounts: vac: 16697969 (threshold 6000050),
anl:16697969 (threshold 120000048)<br /><2008-10-29 11:09:05.610 PDT>DEBUG: 00000: accounts: vac: 16699578
(threshold6000050), anl: 16699578 (threshold 120000048)<br /> <2008-10-29 11:10:03.563 PDT>DEBUG: 00000:
accounts:vac: 16735906 (threshold 6000050), anl: 16735906 (threshold 120000048)<p><br />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_tuplesis 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?<br /><p>Thank you,<p>-Noah<br /> 

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Block-level CRC checks
Next
From: "Kevin Grittner"
Date:
Subject: recovery_target_time and last completed transaction log time