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.