Re: Avoiding vacuum full on an UPDATE-heavy table

From: Bill Montgomery <billm(at)lulu(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: Avoiding vacuum full on an UPDATE-heavy table
Date: 2004-05-21 21:29:33
Message-ID: 40AE74BD.5050802@lulu.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Matthew T. O'Connor wrote:

>>Is there any way to avoid doing a periodic VACUUM FULL on this table,
>>given the fairly radical usage pattern? Or is the (ugly) answer to
>>redesign our application to avoid this usage pattern?
>>
>>
>pg_autovacuum would probably help as it monitors activity and vacuumus
>tables accordingly. It is not included with 7.3.x but if you download it
>and compile yourself it will work against a 7.3.x server.
>
>
As a quick fix, since we're upgrading to 7.4.2 in a few weeks anyhow
(which includes pg_autovacuum), I've simply set up an hourly vacuum on
this table. It only takes ~4 seconds to execute when kept up on an
hourly basis. Is there any penalty to vacuuming too frequently, other
than the time wasted in an unnecessary vacuum operation?

My hourly VACUUM VERBOSE output now looks like this:

INFO: --Relation public.xxxx--
INFO: Index xxxx_yyyy_idx: Pages 30452; Tuples 34990: Deleted 1226.
CPU 0.67s/0.18u sec elapsed 0.87 sec.
INFO: Index xxxx_yyyy_idx: Pages 19054; Tuples 34991: Deleted 1226.
CPU 0.51s/0.13u sec elapsed 1.35 sec.
INFO: Removed 1226 tuples in 137 pages.
CPU 0.01s/0.00u sec elapsed 1.30 sec.
INFO: Pages 13709: Changed 31, Empty 0; Tup 34990: Vac 1226, Keep 0,
UnUsed 567233.
Total CPU 1.58s/0.31u sec elapsed 3.91 sec.
INFO: Analyzing public.xxxx
VACUUM

With regards to Vivek's post about index bloat, I tried REINDEXing
before I did a VACUUM FULL a month ago when performance had gotten
dismal. It didn't help :-(

Best Regards,

Bill Montgomery

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tom Lane 2004-05-21 22:09:24 Re: Avoiding vacuum full on an UPDATE-heavy table
Previous Message Vivek Khera 2004-05-21 20:36:18 Re: Avoiding vacuum full on an UPDATE-heavy table