Make standalone backends ignore pg_database.datallowconn, so that there

is a way to recover from disabling connections to all databases at once.
This commit is contained in:
Tom Lane 2005-05-05 19:53:37 +00:00
parent fbacd7838c
commit 266a8975da

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.139.4.2 2005/03/18 16:16:20 tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.139.4.3 2005/05/05 19:53:37 tgl Exp $
*
*
*-------------------------------------------------------------------------
@ -122,9 +122,11 @@ ReverifyMyDatabase(const char *name)
/*
* Also check that the database is currently allowing connections.
* (We do not enforce this in standalone mode, however, so that there is
* a way to recover from "UPDATE pg_database SET datallowconn = false;")
*/
dbform = (Form_pg_database) GETSTRUCT(tup);
if (!dbform->datallowconn)
if (IsUnderPostmaster && !dbform->datallowconn)
ereport(FATAL,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("database \"%s\" is not currently accepting connections",