Re: Server tries to read a different config file than it is supposed to
| От | Adrian Klaver |
|---|---|
| Тема | Re: Server tries to read a different config file than it is supposed to |
| Дата | |
| Msg-id | 55608847.7090201@aklaver.com обсуждение исходный текст |
| Ответ на | Server tries to read a different config file than it is supposed to (twoflower <standa.kurik@gmail.com>) |
| Список | pgsql-general |
On 05/23/2015 04:23 AM, twoflower wrote: > I thought I understood how specifying a config file path for the server > works, but that's apparently not the case. > > The cluster data is at */storage/postgresql/9.4/data*. > > The config files are at */etc/postgresql/9.4/main* (this is the default > location on Ubuntu). > > This is how the beginning of */etc/postgresql/9.4/main/postgresql.conf* > looks like: > > |data_directory = '/storage/postgresql/9.4/data' > hba_file = '/etc/postgresql/9.4/main/pg_hba.conf' > ident_file = '/etc/postgresql/9.4/main/pg_ident.conf' | > > So I wrote a few scripts to make my life easier, e.g. *pg94start.sh*: > > |su postgres -c "/usr/lib/postgresql/9.4/bin/pg_ctl -D > /storage/postgresql/9.4/data -o '-c > config_file=/etc/postgresql/9.4/main/postgresql.conf'"| > > But running this script did not work, the server would not start. So I > checked the log file and there was: > > *FATAL: could not open file > "/storage/postgresql/9.4/data/postgresql.conf": Permission denied* > > After fixing the ownership of this file, it worked. > > What's the reason the server was trying to access that file? Why does > not the override given by the *|config_file|* parameter work? I think you are seeing the effects of the below: http://www.postgresql.org/docs/9.4/static/runtime-config-file-locations.html "If you wish to keep the configuration files elsewhere than the data directory, the postgres -D command-line option or PGDATA environment variable must point to the directory containing the configuration files, and the data_directory parameter must be set in postgresql.conf (or on the command line) to show where the data directory is actually located. Notice that data_directory overrides -D and PGDATA for the location of the data directory, but not for the location of the configuration files." By specifying -D you pointing at /storage/postgresql/9.4/data as the source for the conf files, then changing that with the -o switch. Try your command without the -D switch and let the postgresql.conf file in /etc/postgresql/9.4/main/ provide the data_directory. > > Thank you. > ------------------------------------------------------------------------ > View this message in context: Server tries to read a different config > file than it is supposed to > <http://postgresql.nabble.com/Server-tries-to-read-a-different-config-file-than-it-is-supposed-to-tp5850752.html> > Sent from the PostgreSQL - general mailing list archive > <http://postgresql.nabble.com/PostgreSQL-general-f1843780.html> at > Nabble.com. -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: