From: Bill Moran <wmoran@collaborativefusion.com>
To: Heikki Linnakangas <heikki@enterprisedb.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Need to run CLUSTER to keep performance
Date: Mon, 12 Nov 2007 11:37:40 -0500
Message-ID: <20071112113740.d0e23686.wmoran@collaborativefusion.com> (raw)
In-Reply-To: <47387FED.8090408@enterprisedb.com>
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>
<47387FED.8090408@enterprisedb.com>
In response to Heikki Linnakangas <heikki@enterprisedb.com>:
> 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.
Considering how small the table is, you may want to just program the
process holding the transaction open to do a vacuum full of that table
when it's done with it's work.
--
Bill Moran
Collaborative Fusion Inc.
http://people.collaborativefusion.com/~wmoran/
wmoran@collaborativefusion.com
Phone: 412-422-3463x4023
****************************************************************
IMPORTANT: This message contains confidential information and is
intended only for the individual named. If the reader of this
message is not an intended recipient (or the individual
responsible for the delivery of this message to an intended
recipient), please be advised that any re-use, dissemination,
distribution or copying of this message is prohibited. Please
notify the sender immediately by e-mail if you have received
this e-mail by mistake and delete this e-mail from your system.
E-mail transmission cannot be guaranteed to be secure or
error-free as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses. The
sender therefore does not accept liability for any errors or
omissions in the contents of this message, which arise as a
result of e-mail transmission.
****************************************************************
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: wmoran@collaborativefusion.com, heikki@enterprisedb.com
Subject: Re: Need to run CLUSTER to keep performance
In-Reply-To: <20071112113740.d0e23686.wmoran@collaborativefusion.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