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.)