Received: from maia.hub.org (unknown [200.46.208.211]) by mail.postgresql.org (Postfix) with ESMTP id 5019763224F for ; Thu, 11 Feb 2010 06:10:49 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.208.211]) (amavisd-maia, port 10024) with ESMTP id 81706-05; Thu, 11 Feb 2010 10:10:33 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from outmail128168.authsmtp.com (outmail128168.authsmtp.com [62.13.128.168]) by mail.postgresql.org (Postfix) with ESMTP id 516296331C5; Thu, 11 Feb 2010 06:10:38 -0400 (AST) Received: from mail-c187.authsmtp.com (mail-c187.authsmtp.com [62.13.128.33]) by punt3.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id o1BAAari030387; Thu, 11 Feb 2010 10:10:36 GMT Received: from [10.0.1.26] (74-92-138-153-WashingtonDC.hfc.comcastbusiness.net [74.92.138.153]) (authenticated bits=0) by mail.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id o1BAAYfe056208; Thu, 11 Feb 2010 10:10:34 GMT Subject: Re: [COMMITTERS] pgsql: Remove old-style VACUUM FULL (which was known for a little while From: Simon Riggs To: Tom Lane Cc: pgsql-hackers@postgresql.org In-Reply-To: <20100208043355.412637541B9@cvs.postgresql.org> References: <20100208043355.412637541B9@cvs.postgresql.org> Content-Type: text/plain Date: Thu, 11 Feb 2010 10:10:32 +0000 Message-Id: <1265883032.7341.1149.camel@ebony> Mime-Version: 1.0 X-Mailer: Evolution 2.26.1 Content-Transfer-Encoding: 7bit X-Server-Quench: b1d9024f-16f5-11df-ab46-001185d377ca X-AuthReport-Spam: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-AuthRoute: OCdxZQATClZOTQEd DAteCiN5VAwpPBRK HVkIKg5MJUcNSQVJ NksadBtFaQRba1xT HGQLWlREUV17WGN/ aA8fagFDa0hQXgZi TklMQU1XHAJ3AVJe B2xvI3AkIgVDfnxw bQhhWXdbEhZ7IU99 QEoCCGwAM2J9aWFL Bl0JJQdSbQNKfx5N bwR8U3ReMCtlM3Bw LCQUGhUQAQlyEh9g ChkCNksWEw4xEzs7 WR1KGjEjWFYZViE+ ZyIPAWMhOQ4/D2EW eRs+WVMTM1cNAxY8 V0JLBzBfb1cGXWIi RQdbQVIaHXVCQSZY D3Xv X-Authentic-SMTP: 61633235383639.1000:706/Kp X-AuthFastPath: 255 X-Virus-Status: No virus detected - but ensure you scan with your own anti-virus system. X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-2.599 tagged_above=-10 required=5 tests=BAYES_00=-2.599 X-Spam-Level: X-Archive-Number: 201002/827 X-Sequence-Number: 157170 On Mon, 2010-02-08 at 04:33 +0000, Tom Lane wrote: > We still have to retain all code that copes with finding > HEAP_MOVED_OFF and HEAP_MOVED_IN flag bits on existing tuples. This > can't be removed as long as we want to support in-place update from > pre-9.0 databases. This doesn't seem to be a great reason. Letting weird states exist is not a feature, its a risk. Let me explain. This would only happen if a VACUUM FULL had been run on the pre-9.0 database and it had failed part way through. Re-VACUUMing would remove those settings. ISTM that that the upgrade process should cover this, not force the server to cope with rare and legacy situations. If we do not do this, then we might argue it should *never* be removed because this same rare situation can persist into 9.1 etc.. There were data loss situations possible in early 8.4 and these persisted into later releases *because* the minor release upgrade process did not contain a scan to detect and remove the earlier problems. If we allow tuples to be in strange legacy states we greatly increase the difficulty of diagnosing and fixing problems. People will say "moved in/off can be ignored now" and mistakes will happen. We should remove the moved in/off flag bits and make it a part of the upgrade process to ensure the absence of those states. -- Simon Riggs www.2ndQuadrant.com