OSDN Git Service

Make error handling of synchronous_standby_names consistent.
authorRobert Haas <rhaas@postgresql.org>
Thu, 10 Mar 2011 21:24:52 +0000 (16:24 -0500)
committerRobert Haas <rhaas@postgresql.org>
Thu, 10 Mar 2011 21:24:52 +0000 (16:24 -0500)
It's not a good idea to kill the postmaster just because someone muffs
this, and it's not consistent with what we do for other, similar GUCs.

Fujii Masao, with a bit more hacking by me

src/backend/replication/syncrep.c

index 07dd235..3ef9cdd 100644 (file)
@@ -420,9 +420,7 @@ SyncRepGetStandbyPriority(void)
                /* syntax error in list */
                pfree(rawstring);
                list_free(elemlist);
-               ereport(FATAL,
-                               (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-                  errmsg("invalid list syntax for parameter \"synchronous_standby_names\"")));
+               /* GUC machinery will have already complained - no need to do again */
                return 0;
        }
 
@@ -563,7 +561,7 @@ assign_synchronous_standby_names(const char *newval, bool doit, GucSource source
                /* syntax error in list */
                pfree(rawstring);
                list_free(elemlist);
-               ereport(FATAL,
+               ereport(GUC_complaint_elevel(source),
                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
                   errmsg("invalid list syntax for parameter \"synchronous_standby_names\"")));
                return NULL;