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);