Received: from localhost (unknown [200.46.204.182]) by postgresql.org (Postfix) with ESMTP id 3E5939F9BD4 for ; Fri, 28 Sep 2007 23:52:45 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.182]) (amavisd-maia, port 10024) with ESMTP id 24856-06 for ; Fri, 28 Sep 2007 23:52:38 -0300 (ADT) Received: from news.hub.org (news.hub.org [200.46.204.72]) by postgresql.org (Postfix) with ESMTP id CBB669F9BA7 for ; Fri, 28 Sep 2007 23:52:44 -0300 (ADT) Received: from news.hub.org (news.hub.org [200.46.204.72]) by news.hub.org (8.14.1/8.14.1) with ESMTP id l8T2qctl026908 for ; Fri, 28 Sep 2007 23:52:38 -0300 (ADT) (envelope-from news@news.hub.org) Received: (from news@localhost) by news.hub.org (8.14.1/8.14.1/Submit) id l8T2kM5p024049 for pgsql-performance@postgresql.org; Fri, 28 Sep 2007 23:46:22 -0300 (ADT) (envelope-from news) From: Ron Mayer X-Newsgroups: pgsql.performance Subject: Re: Non-blocking vacuum full Date: Fri, 28 Sep 2007 19:46:28 -0700 Organization: Hub.Org Networking Services Lines: 16 Message-ID: <46FDBC84.2000205@cheapcomplexdevices.com> References: <20070928180649.GA6579@hyperion.scode.org> <46FD5695.6000302@enterprisedb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@news.hub.org To: Heikki Linnakangas User-Agent: Icedove 1.5.0.12 (X11/20070730) In-Reply-To: <46FD5695.6000302@enterprisedb.com> To: pgsql-performance@postgresql.org X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200709/476 X-Sequence-Number: 27021 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?