diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2021-07-27 15:44:12 -0400 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2021-07-27 15:44:12 -0400 |
commit | ad3b40eb26a30d376e8448eb1170421501f0fc6b (patch) | |
tree | 952ecd3daea4997169a9bd8c1b1954b38ded0a8f /src | |
parent | b7ea0e8c41f1e512923267a57cd08df63115b783 (diff) | |
download | postgresql-ad3b40eb26a30d376e8448eb1170421501f0fc6b.tar.gz postgresql-ad3b40eb26a30d376e8448eb1170421501f0fc6b.zip |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/utils/misc/guc-file.l | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l index 986ce542e37..8ca74c801cc 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", |