pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Heikki Linnakangas <heikki@enterprisedb.com>
To: Rafael Martinez <r.m.guerrero@usit.uio.no>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-performance@postgresql.org
Subject: Re: Need to run CLUSTER to keep performance
Date: Mon, 12 Nov 2007 16:31:41 +0000
Message-ID: <47387FED.8090408@enterprisedb.com> (raw)
In-Reply-To: <4738735B.6030408@usit.uio.no>
References: <4732E6B4.1030907@usit.uio.no>
	<4732EF07.3060807@enterprisedb.com>
	<47332200.9050705@usit.uio.no>
	<24775.1194535980@sss.pgh.pa.us>
	<4738735B.6030408@usit.uio.no>

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



view thread (21+ messages)  latest in thread

Message-ID: <47387FED.8090408@enterprisedb.com>
Permalink:  ../47387FED.8090408@enterprisedb.com/
Also on:    postgresql.org/message-id/47387FED.8090408@enterprisedb.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: heikki@enterprisedb.com, r.m.guerrero@usit.uio.no, tgl@sss.pgh.pa.us
  Subject: Re: Need to run CLUSTER to keep performance
  In-Reply-To: <47387FED.8090408@enterprisedb.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox