From owner-freebsd-questions@FreeBSD.ORG Thu May 29 13:15:30 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 749F4106567C for ; Thu, 29 May 2008 13:15:30 +0000 (UTC) (envelope-from wmoran@potentialtech.com) Received: from mail.potentialtech.com (internet.potentialtech.com [66.167.251.6]) by mx1.freebsd.org (Postfix) with ESMTP id 2BFBF8FC16 for ; Thu, 29 May 2008 13:15:30 +0000 (UTC) (envelope-from wmoran@potentialtech.com) Received: from vanquish.ws.pitbpa0.priv.collaborativefusion.com (pr40.pitbpa0.pub.collaborativefusion.com [206.210.89.202]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.potentialtech.com (Postfix) with ESMTPSA id 2C267EBC08; Thu, 29 May 2008 09:15:29 -0400 (EDT) Date: Thu, 29 May 2008 09:15:24 -0400 From: Bill Moran To: Gunther Mayer Message-Id: <20080529091524.d485ae21.wmoran@potentialtech.com> In-Reply-To: <483EA5AF.5040901@gmail.com> References: <483EA5AF.5040901@gmail.com> X-Mailer: Sylpheed 2.4.8 (GTK+ 2.12.9; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: FreeBSD Subject: Re: Best way of upgrading postgresql in production? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 May 2008 13:15:30 -0000 In response to Gunther Mayer : > > I've been grappling with this and read all sorts of email threads and > blog posts but I still have no good solution to the following problem: I > want to upgrade a postgresql installation on FreeBSD 6.3 from 8.2 to 8.3 > as we'd like to take advantage of its new features and performance > enhancements. Yet none of the ports system offers no clean _and_ quick > way of performing such an upgrade as the Makefiles of the respective > ports choke as soon as they detect an existing older -server or -client. > > Yet all I want to do is in a script which fires automatically at 5am via > cron (of course I'll get up to check just in case but I've done this > many times before): > > 1. Do all backup tasks (build packages for all installed postgresql > 8.2 stuff for possible rollback, full database dump, configs etc.) > and take down all processes that write to the db > 2. Shut down the database > 3. Uninstall all postgresql 8.2 ports (client, server and client libs > we depend on) > 4. Install all postgresql 8.3 ports > 5. Fire up the new db, restore the complete database dump > 6. Restore the configs (pg_hba.conf, postgresql.conf etc.) and > restart the database > 7. Start up all "db write" services again > > Ideally that process shouldn't take longer than 5 minutes but step > number 4 is currently a big stumbling block as > > * Building from ports will take a while > * I can't find any binary packages for 8.3 (would need i386 for > testing and amd64 for live) anywhere as far as I can see > (ftp.freebsd.org has nothing, nor do the mirrors) > * building binary packages myself is impossible on the same machines > as pkg_create can only do that with installed packages, "make > package" et. all choke when they realise you already have > 82-{client,server} installed and I don't see any other way of > creating a package without installing one > > How can I get out of this catch-22 /without /resorting to complicated > jail setups or even worse, manual compilations with different prefixes > and other nasties? There must be a way to get a package somehow... Jail setups are not complicated. You could also make the packages on another system. How about doing a make package on the server that you've tested your application against 8.3 on? You _have_ done that, right? What makes you think that jail setups are so complicated. I set up new jails almost every week. I get the impression that you have some reason for avoiding the obvious solution, and I suspect it revolves around some incorrect impression that jails are "complicated". -- Bill Moran http://www.potentialtech.com