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. +