Re: truncate a table instead of vaccum full when count(*) is 0

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Pomarede Nicolas <npomarede(at)corp(dot)free(dot)fr>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: truncate a table instead of vaccum full when count(*) is 0
Date: 2007-05-08 10:59:48
Message-ID: 46405824.9010000@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Pomarede Nicolas wrote:
> There's not too much simultaneous transaction on the database, most of
> the time it shouldn't exceed one minute (worst case). Except, as I need
> to run a vacuum analyze on the whole database every day, it now takes 8
> hours to do the vacuum (I changed vacuum values to be a little slower
> instead of taking too much i/o and making the base unusable, because
> with default vacuum values it takes 3-4 hours of high i/o usage (total
> base is 20 GB) ).
>
> So, at this time, the complete vacuum is running, and vacuuming only the
> spool table gives all dead rows are currently not removable (which is
> normal).

Oh, I see. I know you don't want to upgrade, but that was changed in
8.2. Vacuum now ignores concurrent vacuums in the oldest xid
calculation, so the long-running vacuum won't stop the vacuum on the
spool table from removing dead rows.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Guillaume Cottenceau 2007-05-08 11:06:07 Re: truncate a table instead of vaccum full when count(*) is 0
Previous Message C. Bergström 2007-05-08 10:55:41 Re: [OT] Best OS for Postgres 8.2