Re: Non-blocking vacuum full

From: Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>
To: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
Subject: Re: Non-blocking vacuum full
Date: 2007-09-29 02:46:28
Message-ID: 46FDBC84.2000205@cheapcomplexdevices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

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? And with 8.3, I guess also avoiding HOT?

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Heikki Linnakangas 2007-09-29 08:05:18 Re: Non-blocking vacuum full
Previous Message Tom Lane 2007-09-28 20:56:49 Re: OOM Errors as a result of table inheritance and a bad plan(?)