diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index a9b9794..ef6daf7 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -5639,9 +5639,17 @@ set_config_option(const char *name, const char *value, * it will propagate to subsequently-started backends), but * ignore it in existing backends. This is a tad klugy, but * necessary because we don't re-read the config file during - * backend start. + * backend start. However in EXEC_BACKEND builds we load + * nondefault settings from the CONFIG_EXEC_PARAMS file during + * backend start. In that situation we should accept PGC_SIGHUP + * settings, so as to have the same value as if we'd forked from + * the postmaster. */ +#ifdef EXEC_BACKEND + if (IsUnderPostmaster && !IsInitProcessingMode()) +#else if (IsUnderPostmaster) +#endif return -1; } else if (context != PGC_POSTMASTER && context != PGC_BACKEND && @@ -8282,6 +8290,12 @@ read_nondefault_variables(void) GucContext varscontext; /* + * Load setting's from CONFIG_EXEC_PARAMS file only during + * backend start. + */ + Assert(IsInitProcessingMode()); + + /* * Open file */ fp = AllocateFile(CONFIG_EXEC_PARAMS, "r");