On Thu, Oct 9, 2014 at 02:34:17PM +0400, Alexey Bashtanov wrote: > 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)?
I agree this is a serious problem. We have discussed various options, but have not decided on anything. The TODO list has: https://wiki.postgresql.org/wiki/Todo Improve setting of visibility map bits for read-only and insert-only workloads http://www.postgresql.org/message-id/20130906001437.ga29...@momjian.us -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers