Log a warning instead of shutting down the system if we can't load
authorMagnus Hagander <magnus@hagander.net>
Wed, 4 Mar 2009 08:43:15 +0000 (08:43 +0000)
committerMagnus Hagander <magnus@hagander.net>
Wed, 4 Mar 2009 08:43:15 +0000 (08:43 +0000)
pg_hba.conf on reload (for example due to a permission error).

Selena Deckelmann

src/backend/libpq/hba.c

index a134b4565b1247f0ee1d7c1a8d907609f20ff15a..c721e003fd8cbfa51cacf470832b6d478096dc0c 100644 (file)
@@ -1306,12 +1306,19 @@ load_hba(void)
        List *new_parsed_lines = NIL;
 
        file = AllocateFile(HbaFileName, "r");
-       /* Failure is fatal since with no HBA entries we can do nothing... */
        if (file == NULL)
-               ereport(FATAL,
+       {
+               ereport(WARNING,
                                (errcode_for_file_access(),
                                 errmsg("could not open configuration file \"%s\": %m",
                                                HbaFileName)));
+               /*
+                * Caller will take care of making this a FATAL error in case this is
+                * the initial startup. If it happens on reload, we just keep the
+                * old version around.
+                */
+               return false;
+       }
 
        tokenize_file(HbaFileName, file, &hba_lines, &hba_line_nums);
        FreeFile(file);