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
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