Re: Need to run CLUSTER to keep performance - Mailing list pgsql-performance

From Heikki Linnakangas
Subject Re: Need to run CLUSTER to keep performance
Date
Msg-id 47387FED.8090408@enterprisedb.com
Whole thread Raw
In response to Re: Need to run CLUSTER to keep performance  (Rafael Martinez <r.m.guerrero@usit.uio.no>)
Responses Re: Need to run CLUSTER to keep performance  (Bill Moran <wmoran@collaborativefusion.com>)
Re: Need to run CLUSTER to keep performance  (Rafael Martinez <r.m.guerrero@usit.uio.no>)
List pgsql-performance
Rafael Martinez wrote:
> DETAIL:  83623 dead row versions cannot be removed yet.

Looks like you have a long-running transaction in the background, so
VACUUM can't remove all dead tuples. I didn't see that in the vacuum
verbose outputs you sent earlier. Is there any backends in "Idle in
transaction" state, if you run ps?

In 8.1, CLUSTER will remove those tuples anyway, but it's actually not
correct. If the long-running transaction decides to do a select on
hosts-table later on, it will see an empty table because of that. That's
been fixed in 8.3, but it also means that CLUSTER might no longer help
you on 8.3. VACUUM FULL is safe in that sense in 8.1 as well.

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

pgsql-performance by date:

Previous
From: Rafael Martinez
Date:
Subject: Re: Need to run CLUSTER to keep performance
Next
From: Andrew Sullivan
Date:
Subject: Re: Curious about dead rows.