Received: from maia.hub.org (unknown [200.46.208.211]) by mail.postgresql.org (Postfix) with ESMTP id 90F69632A72 for ; Thu, 11 Feb 2010 14:33:42 -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 96739-08 for ; Thu, 11 Feb 2010 18:33:21 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from outmail128111.authsmtp.co.uk (outmail128111.authsmtp.co.uk [62.13.128.111]) by mail.postgresql.org (Postfix) with ESMTP id 8693263224F for ; Thu, 11 Feb 2010 14:33:31 -0400 (AST) Received: from mail-c193.authsmtp.com (mail-c193.authsmtp.com [62.13.128.118]) by punt4.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id o1BIXQij033158; Thu, 11 Feb 2010 18:33:26 GMT Received: from [192.168.1.8] (c-68-33-3-167.hsd1.md.comcast.net [68.33.3.167]) (authenticated bits=0) by mail.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id o1BIXI5D083592; Thu, 11 Feb 2010 18:33:20 GMT Subject: Re: Re: [COMMITTERS] pgsql: Remove old-style VACUUM FULL (which was known for a little while From: Simon Riggs To: Tom Lane Cc: Heikki Linnakangas , Andres Freund , pgsql-hackers@postgresql.org In-Reply-To: <10339.1265905658@sss.pgh.pa.us> References: <20100208043355.412637541B9@cvs.postgresql.org> <1265883032.7341.1149.camel@ebony> <201002111204.10183.andres@anarazel.de> <4B73FDC8.3050208@enterprisedb.com> <1265894548.7341.1521.camel@ebony> <10339.1265905658@sss.pgh.pa.us> Content-Type: text/plain Date: Thu, 11 Feb 2010 18:33:16 +0000 Message-Id: <1265913196.7341.2334.camel@ebony> Mime-Version: 1.0 X-Mailer: Evolution 2.26.1 Content-Transfer-Encoding: 7bit X-Server-Quench: ee285786-173b-11df-97bb-002264978518 X-Report-Spam: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-AuthRoute: OCdxZQATClZOTQEd DAteCiN5VAwpPBRK HVkIKg5MJUcNSQVJ NksachtFaQRba1xT HGQLWlREUVV7WmB/ aQsfaw1DYUlQXBtr Vk9WR1pVCwUmXh1z f3ZnV21yfwZDcXw+ ZEdgVngVCRF4fUN6 SkhJFGoFN3phaTRJ TUlfJVFJcANIfBlB Y1d3UXIFLwdSbGoL PyYYHB0LBgAXEikH CjImCnc3YHo3MwQH clgaEi42GR9NfSg2 KAIrYlkYEAMKLlQ2 PBMfcHklDjpaJDB6 OyMFQDBZJlIBDzUi FktZW0kBFnVTRj0U C1UsIwNUBjEaRSpZ AEYt X-Authentic-SMTP: 61633235383639.1014: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.413 tagged_above=-10 required=5 tests=AWL=0.186, BAYES_00=-2.599 X-Spam-Level: X-Archive-Number: 201002/914 X-Sequence-Number: 157257 On Thu, 2010-02-11 at 11:27 -0500, Tom Lane wrote: > Simon Riggs writes: > > You still have to perform a backup of the database prior to upgrade and > > that also must scan the whole database, so the overall time to upgrade > > will still vary according to database size. So I don't see any overall > > benefit, just risk, and I cited a similar situation where that risk has > > already materialized into damage for a user in at least one case. > > You cited no such case; you merely hypothesized that it could happen. Apologies for not providing more details. There was a serious problem in an 8.4.1 database just before Christmas. Mostly off-list but a few community members knew of it. The db had been upgraded from 8.4.0, where some data loss issues existed and the corruption persisted even in a release where it could never have been created. > As for the alleged risks involved, keeping the tqual support for MOVED > bits cannot create any data-loss risks that haven't existed right along > in every previous release. But depending on MOVED bits to be reliably > gone after a pg_upgrade would introduce a very obvious data loss risk > that wasn't there before, namely that pg_upgrade misses one. Avoiding a scan before running pg_upgrade is just a performance optimisation. I don't think we should be optimising an upgrade in this way, especially since sane people do database backups before upgrade anyway. The optimisation is misplaced. The fact that we are actively planning to have code in the server that only gets executed if pg_upgrade screws up scares the hell out of me. If someone else suggested it you'd give them both barrels. We should be ensuring pg_upgrade works, not giving it leeway to miss a few things but work quickly. I think pg_upgrade should be investing time in a utility which pre-scans the database to check it is safely upgradeable, not have the server support an external utility that has unsafe usage procedures. -- Simon Riggs www.2ndQuadrant.com