X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (av.hub.org [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 6A3ADD85E9 for ; Tue, 30 Aug 2005 19:19:20 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 82130-10 for ; Tue, 30 Aug 2005 22:19:18 +0000 (GMT) Received: from smtp102.biz.mail.mud.yahoo.com (smtp102.biz.mail.mud.yahoo.com [68.142.200.237]) by svr1.postgresql.org (Postfix) with SMTP id 937EFD84FF for ; Tue, 30 Aug 2005 19:19:16 -0300 (ADT) Received: (qmail 68845 invoked from network); 30 Aug 2005 22:19:19 -0000 Received: from unknown (HELO ?192.168.3.1?) (ralph.mason@telogis.com@203.98.10.169 with plain) by smtp102.biz.mail.mud.yahoo.com with SMTP; 30 Aug 2005 22:19:18 -0000 Message-ID: <4314DBE0.9070708@telogis.com> Date: Wed, 31 Aug 2005 10:21:20 +1200 From: Ralph Mason User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: 'Real' auto vacuum? Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0 required=5 tests=[none] X-Spam-Level: X-Archive-Number: 200508/544 X-Sequence-Number: 14291 This is a wild and crazy thought which I am sure is invalid for some good reason. But why can't postgres just vacuum itself as it goes along? When a row is orphaned it's added to a list of possibly available rows. When a new row is needed the list of possible rows is examined and the first one with a transaction id less then the lowest running transaction id is chosen to be the new row? These rows can be in a heap so it's really fast to find one. Like magic - no more vacuuming. No more holes for people to fall into. Is this an oversimplification of the problem? Ralph