postgres.git / summary / log / commit / refs

commit    04fa0e11ac20cb3f26639bb95334b45fc81ebec5
Author:   Alvaro Herrera <alvherre@alvh.no-ip.org>
Date:     Tue Jul 27 19:44:12 2021 +0000

    Set pg_setting.pending_restart when pertinent config lines are removed
    
    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 <alvherre@alvh.no-ip.org>
    Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
    Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
    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 ad62d9b629f..cdd3fca4bfa 100644 --- a/src/backend/utils/misc/guc-file.l +++ b/src/backend/utils/misc/guc-file.l @@ -345,6 +345,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", [parent: a84f95ffddbf]