Re: Auto-Vacuum in 8.1 was ineffective for me. 8.2 may work better?
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Mark Stosberg <mark@summersault.com>
Cc: pgsql-performance@postgresql.org
Date: 2007-02-21T20:51:30Z
Lists: pgsql-performance
Mark Stosberg wrote: > Alvaro Herrera wrote: > > Mark Stosberg wrote: > >> When I upgraded a busy database system to PostgreSQL 8.1, I was excited > >> about AutoVacuum, and promptly enabled it, and turned off the daily > >> vacuum process. > >> > >> ( > >> I set the following, as well as the option to enable auto vacuuming > >> stats_start_collector = true > >> stats_row_level = true > >> ) > >> > >> I could see in the logs that related activity was happening, but within > >> a few days, the performance became horrible, and enabling the regular > >> vacuum fixed it. > >> > >> Eventually autovacuum was completely disabled. > > This has been tracked down to a bug in 8.1's Windows port. See > > http://people.planetpostgresql.org/mha/index.php?/archives/134-8.1-on-win32-pgstat-and-autovacuum.html > > Thanks for the response Alvaro. This would have been on FreeBSD. Oh, maybe I misread your OP :-) With "completely disabled" I thought you meant it was "frozen", i.e., it ran, but did nothing. > Let me ask the question a different way: Is simply setting the two > values plus enabling autovacuuming generally enough, or is further > tweaking common place? I assume your FSM configuration is already good enough? What you should do is find out what tables are not getting vacuumed enough (e.g. by using contrib/pgstattuple repeteadly and seeing where is dead space increasing) and tweak the autovacuum settings to have them vacuumed more often. This is done by inserting appropriate tuples in pg_autovacuum. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.