From 93a0bf2390327a482ff37317f6e17547e735409e Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Tue, 27 Jul 2021 15:44:12 -0400 Subject: [PATCH] Set pg_setting.pending_restart when pertinent config lines are removed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This changes the behavior of examining the pg_file_settings view after changing a config option that requires restart. The user needs to know that any change of such options does not take effect until a restart, and this worked correctly if the line is edited without removing it. However, for the case where the line is removed altogether, the flag doesn't get set, because a flag was only set in set_config_option, but that's not called for lines removed. Repair. (Ref.: commits 62d16c7fc561 and a486e35706ea) Author: Álvaro Herrera Reviewed-by: Daniel Gustafsson Reviewed-by: Tom Lane Discussion: https://postgr.es/m/202107262302.xsfdfc5sb7sh@alvherre.pgsql --- src/backend/utils/misc/guc-file.l | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l index 986ce542e3..8ca74c801c 100644 --- a/src/backend/utils/misc/guc-file.l +++ b/src/backend/utils/misc/guc-file.l @@ -346,6 +346,8 @@ ProcessConfigFileInternal(GucContext context, bool applySettings, int elevel) continue; if (gconf->context < PGC_SIGHUP) { + /* The removal can't be effective without a restart */ + gconf->status |= GUC_PENDING_RESTART; ereport(elevel, (errcode(ERRCODE_CANT_CHANGE_RUNTIME_PARAM), errmsg("parameter \"%s\" cannot be changed without restarting the server",