Re: truncate a table instead of vaccum full when count(*) is 0 - Mailing list pgsql-performance

From Heikki Linnakangas
Subject Re: truncate a table instead of vaccum full when count(*) is 0
Date
Msg-id 46405824.9010000@enterprisedb.com
Whole thread Raw
In response to Re: truncate a table instead of vaccum full when count(*) is 0  (Pomarede Nicolas <npomarede@corp.free.fr>)
Responses Re: truncate a table instead of vaccum full when count(*) is 0
List 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

pgsql-performance by date:

Previous
From: Pomarede Nicolas
Date:
Subject: Re: truncate a table instead of vaccum full when count(*) is 0
Next
From: "C. Bergström"
Date:
Subject: Re: [OT] Best OS for Postgres 8.2