pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Heikki Linnakangas <heikki@enterprisedb.com>
To: Ron Mayer <rm_pg@cheapcomplexdevices.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Non-blocking vacuum full
Date: Sat, 29 Sep 2007 09:05:18 +0100
Message-ID: <46FE073E.4040003@enterprisedb.com> (raw)
In-Reply-To: <46FDBC84.2000205@cheapcomplexdevices.com>
References: <20070928180649.GA6579@hyperion.scode.org>
	<46FD5695.6000302@enterprisedb.com>
	<46FDBC84.2000205@cheapcomplexdevices.com>

Ron Mayer wrote:
> Heikki Linnakangas wrote:
>> Peter Schuller wrote:
>>> to have a slow background process (similar to normal non-full vacuums
>> ... 
>> I think it's doable, if you take a copy of the tuple, and set the ctid
>> pointer on the old one like an UPDATE, and wait until the old tuple is
>> no longer visible to anyone before removing it. It does require some
>> changes to tuple visibility code.
> 
> Wouldn't just having this slow background process
> repeatedly alternating between
>  update table set anycol=anycol where ctid > [some ctid near the end]
> and running normal VACUUM statements do what the original poster
> was asking? 

Almost. Updaters would block waiting for the UPDATE, and updaters in
serializable mode would throw serialization errors. And the "WHERE ctid
> ?" would actually result in a seq scan scanning the whole table, since
our tid scans don't support inequality searches.

> And with 8.3, I guess also avoiding HOT?

HOT shouldn't cause any complications here AFAICS.

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



view thread (4+ messages)

Message-ID: <46FE073E.4040003@enterprisedb.com>
Permalink:  ../46FE073E.4040003@enterprisedb.com/
Also on:    postgresql.org/message-id/46FE073E.4040003@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, rm_pg@cheapcomplexdevices.com
  Subject: Re: Non-blocking vacuum full
  In-Reply-To: <46FE073E.4040003@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