Re: VACUUM FULL on 24/7 server

From: Gaetano Mendola <mendola(at)bigfoot(dot)com>
To: Christopher Browne <cbbrowne(at)acm(dot)org>
Subject: Re: VACUUM FULL on 24/7 server
Date: 2004-10-03 12:34:11
Message-ID: 415FF1C3.9090105@bigfoot.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Christopher Browne wrote:
> aserba(at)gmail(dot)com (Aleksey Serba) wrote:
>
>> Hello!
>>
>> I have 24/7 production server under high load.
>> I need to perform vacuum full on several tables to recover disk
>> space / memory usage frequently ( the server must be online during
>> vacuum time )
>
>
> The main thought is: "Don't do that."
>
> It is almost certainly the wrong idea to do a VACUUM FULL.
>
> Assuming that the tables in question aren't so large that they cause
> mass eviction of buffers, it should suffice to do a plain VACUUM (and
> NOT a "VACUUM FULL") on the tables in question quite frequently.

This is easy to say and almost impraticable. I run a 7.4.5 with the autovacuum:

pg_autovacuum -d 3 -v 300 -V 0.5 -S 0.8 -a 200 -A 0.8

I have also a "vacuumdb -z -v -a" running each six hours and if i don't execute
a vacuum FULL for one weeks I collect almost 400 MB of dead rows :-(
For this reason even with a 7.4.5 I'm obliged to run a vacuum full at least once
a week and a reindex once a month.

And my FSM parameters are large enough:

INFO: free space map: 141 relations, 26787 pages stored; 26032 total pages needed
DETAIL: Allocated FSM size: 1000 relations + 2000000 pages = 11780 kB shared memory.

Regards
Gaetano Mendola

PS: I do not have any "idle in transaction" connections around.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mike Rylander 2004-10-03 14:55:14 Re: Query problem...
Previous Message stig erikson 2004-10-03 12:33:07 OT moving from MS SQL to PostgreSQL