On Sat, Feb 14, 2015 at 10:18 PM, Peter Eisentraut <pete...@gmx.net> wrote: > When managing configuration changes through automatic systems like Chef > or Puppet, there is a problem: How do you manage changes requiring a > restart? > > Generally, you'd set it up so that when a configuration file is changed, > the server is reloaded. But for settings that require a restart, well, > I don't know. From discussions with others, it emerged that a way to > ask the server whether a restart is necessary would be useful. Then you > can either automate the restart, or have a monitoring system warn you > about it, and possibly schedule a restart separately or undo the > configuration file change. > > So here is a patch for that. It adds a column pending_restart to > pg_settings that is true when the configuration file contains a changed > setting that requires a restart. We already had the logic to detect > such changes, for producing the log entry. I have also set it up so > that if you change your mind and undo the setting and reload the server, > the pending_restart flag is reset to false.
You don't really need the "else" here, and in parallel cases: if (*conf->variable != newval) { + record->status |= GUC_PENDING_RESTART; ereport(elevel, (errcode(ERRCODE_CANT_CHANGE_RUNTIME_PARAM), errmsg("parameter \"%s\" cannot be changed without restarting the server", name))); return 0; } + else + record->status &= ~GUC_PENDING_RESTART; return -1; The if-statement ends with "return 0" so there is no reason for the "else". -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers