Make standalone backends ignore pg_database.datallowconn, so that there
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 May 2005 19:54:13 +0000 (19:54 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 5 May 2005 19:54:13 +0000 (19:54 +0000)
is a way to recover from disabling connections to all databases at once.

src/backend/utils/init/postinit.c

index 3a48b133bfe8aeb3bf50de83fc858b740d51dd67..e4d19672705640afa4b913c406ec323cbe0d5f52 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.97 2001/11/02 16:30:29 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.97.2.1 2005/05/05 19:54:13 tgl Exp $
  *
  *
  *-------------------------------------------------------------------------
@@ -113,9 +113,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)
        elog(FATAL, "Database \"%s\" is not currently accepting connections",
             name);