Re: pg_upgrade failing from 9.3 to 9.4 because "template0" already exists - Mailing list pgsql-general

From Bruce Momjian
Subject Re: pg_upgrade failing from 9.3 to 9.4 because "template0" already exists
Date
Msg-id 20150515040634.GK23739@momjian.us
Whole thread Raw
In response to Re: pg_upgrade failing from 9.3 to 9.4 because "template0" already exists  (Bruce Momjian <bruce@momjian.us>)
Responses Re: pg_upgrade failing from 9.3 to 9.4 because "template0" already exists
List pgsql-general
On Mon, Mar  9, 2015 at 12:43:05PM -0400, Bruce Momjian wrote:
> On Fri, Mar  6, 2015 at 06:10:15PM -0500, Stephen Frost wrote:
> > Technically, there haven't been any complaints about either pg_dumpall's
> > behavior in this regard, or pg_upgrade's, but pg_upgrade's post-upgrade
> > scripts would happily remove any databases which were marked as
> > 'datallowconn = false' and that scares the daylights out of me.  To that
> > end, I'd suggest patching (and back-patching) pg_upgrade to check early
> > on that:
> >
> > template0 is set to 'datallowconn = false'
> >
> > AND
> >
> > all databases except template0 are set to 'datallowconn = true'
> >
> > The first is required or anyone who has done that will get the funny
> > error that started this thread and things won't work anyway, but I
> > believe the latter is also necessary to patch and back-patch as it could
> > lead to data loss.  It's not a high potential as, hopefully, people will
> > check first, but I can imagine a hosting provider or environments where
> > there are lots of independent clusters not catching this issue in their
> > testing, only to discover someone set their database to 'datallowconn =
> > false' for whatever reason and now that database is gone...
>
> Agreed. I will work on a patch for this.

Attached is a patch that implements this, and it should be backpatch to
all versions.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +

Attachment

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Documentation missing bigint?
Next
From: Craig Ringer
Date:
Subject: Re: BDR table level replication questions