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 c27e9f990b9dd81b185bcf4592bda2155d37cc58..9261d81d53c8617a40e302b1ad5f06b08eb9d3d9 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.180 2009/01/07 13:09:21 mha Exp $
+ *       $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.181 2009/03/04 08:43:15 mha Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -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);