From c2e729fa207e5a20d0038c12170cc71b9d4abd34 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 5 May 2005 19:53:26 +0000
Subject: [PATCH] Make standalone backends ignore pg_database.datallowconn, so
 that there is a way to recover from disabling connections to all databases at
 once.

---
 src/backend/utils/init/postinit.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index 2030106f970..fef1565a04b 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.145 2005/04/14 20:03:26 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/init/postinit.c,v 1.146 2005/05/05 19:53:26 tgl Exp $
  *
  *
  *-------------------------------------------------------------------------
@@ -165,9 +165,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",
-- 
GitLab