Handling of build-time enabled GUC settings
I've noticed some inconsistencies in the handling of build-time enabled GUC
setttings. For example, a non-SSL enabled server will happily accept ssl =
on and simply ignore it. On the other hand, several syslog related
parameters are not accepted at all when syslog is not enabled.
I propose that in the interest of greatest flexibility, configuration-file
sharing etc. we do it as follows: All parameters are accepted all the time.
(The exception will be the few odd debugging parameters which are marked
GUC_NOT_IN_SAMPLE; we can handle those any way we want to.) Those that
cannot take effect because of build-time configuration have to use a
check/assign hook to prevent settings that cannot be honored. This would
mean that ssl = on has to be prevented. As another example, syslog_facility
and syslog_ident are accepted with all values but log_destination will not
accept syslog if that is not available. (The latter is the current
behavior.)
Peter Eisentraut wrote:
I've noticed some inconsistencies in the handling of build-time enabled GUC
setttings. For example, a non-SSL enabled server will happily accept ssl =
on and simply ignore it. On the other hand, several syslog related
parameters are not accepted at all when syslog is not enabled.I propose that in the interest of greatest flexibility, configuration-file
sharing etc. we do it as follows: All parameters are accepted all the time.
(The exception will be the few odd debugging parameters which are marked
GUC_NOT_IN_SAMPLE; we can handle those any way we want to.) Those that
cannot take effect because of build-time configuration have to use a
check/assign hook to prevent settings that cannot be honored. This would
mean that ssl = on has to be prevented. As another example, syslog_facility
and syslog_ident are accepted with all values but log_destination will not
accept syslog if that is not available. (The latter is the current
behavior.)
Agreed. We should also mark the parameters that require a server
restart clearer somehow, perhaps '[restart]' in postgresql.conf.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073