Re: postgresql.auto.conf read from wrong directory
От | Amit Kapila |
---|---|
Тема | Re: postgresql.auto.conf read from wrong directory |
Дата | |
Msg-id | CAA4eK1KTJkpVMnkOS2gFnnh2ZskO4ggDsPSWsHJbq1Cpu9EWRQ@mail.gmail.com обсуждение исходный текст |
Ответ на | postgresql.auto.conf read from wrong directory (Christoph Berg <cb@df7cb.de>) |
Ответы |
Re: postgresql.auto.conf read from wrong directory
Re: postgresql.auto.conf read from wrong directory Re: postgresql.auto.conf read from wrong directory |
Список | pgsql-hackers |
On Tue, May 6, 2014 at 7:04 PM, Christoph Berg <cb@df7cb.de> wrote: > Hi, > > if you split configuration and data by setting data_directory, > postgresql.auto.conf is writen to the data directory > (/var/lib/postgresql/9.4/main in Debian), but tried to be read from > the etc directory (/etc/postgresql/9.4/main). > > One place to fix it would be in ProcessConfigFile in > src/backend/utils/misc/guc-file.l:162 by always setting > CallingFileName = NULL in src/backend/utils/misc/guc-file.l:162, but > that breaks later in AbsoluteConfigLocation() when data_directory is > NULL. (As the comment in ProcessConfigFile says.) This problem occurs because we don't have the value of data_directory set in postgresql.conf by the time we want to parse .auto.conf file during server start. The value of data_directory is only available after processing of config files. To fix it, we need to store the value of data_directory during parse of postgresql.conf file so that we can use it till data_directory is actually set. Attached patch fixes the problem. Could you please once confirm if it fixes the problem in your env./scenario. Another way to fix could be that during parse, we directly set the config value of data_directory, but I didn't prefer that way because the parse routine is called from multiple paths which later on process the values separately. With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Вложения
В списке pgsql-hackers по дате отправления: