Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 2E7A6650301 for ; Tue, 15 Jul 2008 05:24:05 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 87606-05 for ; Tue, 15 Jul 2008 05:23:58 -0300 (ADT) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail01.enterprisedb.com (mail01.enterprisedb.com [63.246.7.168]) by postgresql.org (Postfix) with ESMTP id 4A0D3650034 for ; Tue, 15 Jul 2008 05:24:01 -0300 (ADT) thread-index: AcjmVD9XQZo4Zf+3QE2bdl3k+5nwIg== Content-Class: urn:content-classes:message Importance: normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4133 Received: from [80.222.41.16] ([80.222.41.16]) by mail01.enterprisedb.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Tue, 15 Jul 2008 04:24:44 -0400 Message-ID: <487C5E96.1020907@enterprisedb.com> Date: Tue, 15 Jul 2008 11:23:50 +0300 From: "Heikki Linnakangas" Organization: EnterpriseDB User-Agent: Mozilla-Thunderbird 2.0.0.14 (X11/20080509) MIME-Version: 1.0 To: "Gregory Stark" Cc: "Tom Lane" , "Pavan Deolasee" , "Pgsql Hackers" Subject: Re: [PATCHES] VACUUM Improvements - WIP Patch References: <2e78013d0806092232h6ca15ffejcbcd24e88401308f@mail.gmail.com><21751.1215883933@sss.pgh.pa.us><2e78013d0807132050j16cdc558s4dc3f889371a937d@mail.gmail.com><8741.1216049025@sss.pgh.pa.us> <87hcasmloh.fsf@oxford.xeocode.com><28739.1216058100@sss.pgh.pa.us> <87bq10nx2p.fsf@oxford.xeocode.com> In-Reply-To: <87bq10nx2p.fsf@oxford.xeocode.com> Content-Type: text/plain; format=flowed; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 15 Jul 2008 08:24:44.0562 (UTC) FILETIME=[3C6F2F20:01C8E654] X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200807/719 X-Sequence-Number: 120979 Gregory Stark wrote: > I thought > we only pruned when we wanted to insert a new tuple and found not enough > space. Nope, we prune on any access to the page, if the page is "full enough", and the pd_prune_xid field suggests that there is something to prune. The problem with only pruning on inserts is that by the time we get to heap_insert/heap_update, we're already holding a pin on the page, which prevents us from acquiring the vacuum lock. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com