Обсуждение: Handling of build-time enabled GUC settings

Поиск
Список
Период
Сортировка

Handling of build-time enabled GUC settings

От
Peter Eisentraut
Дата:
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.)


Re: Handling of build-time enabled GUC settings

От
Bruce Momjian
Дата:
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,
Pennsylvania19073