Autovacuum fails to keep visibility map up-to-date in mostly-insert-only-tables

From: Alexey Bashtanov <bashtanov(at)imap(dot)cc>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Autovacuum fails to keep visibility map up-to-date in mostly-insert-only-tables
Date: 2014-10-09 10:34:17
Message-ID: 543664A9.2000908@imap.cc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello!

Autovacuum daemon performs vacuum when the number of rows
updated/deleted (n_dead_tuples) reaches some threshold.
Similarly it performs analyze when the number of rows changed in any way
(incl. inserted).
When a table is mostly insert-only, its visibility map is not updated as
vacuum threshold is almost never reached, but analyze does not update
visibility map.

Why could it be a bad idea to run vacuum after some number of any
changes including inserts, like analyze?
Or at least make it tunable by user (add a second bunch of paramters to
control second vacuum threshold, disabled by default)?

Best regards,
Alexey Bashtanov

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2014-10-09 11:26:32 Re: Escaping from blocked send() reprised.
Previous Message furuyao 2014-10-09 09:42:51 Re: pg_receivexlog --status-interval add fsync feedback