Skip site navigation (1) Skip section navigation (2)

Re: Need to run CLUSTER to keep performance

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Rafael Martinez <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Need to run CLUSTER to keep performance
Date: 2007-11-12 16:31:41
Message-ID: 47387FED.8090408@enterprisedb.com (view raw or flat)
Thread:
Lists: 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

In response to

Responses

pgsql-performance by date

Next:From: Andrew SullivanDate: 2007-11-12 16:32:23
Subject: Re: Curious about dead rows.
Previous:From: Rafael MartinezDate: 2007-11-12 16:11:59
Subject: Re: Need to run CLUSTER to keep performance

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group