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? Thank you.
View this message in context:
Server tries to read a different config file than it is supposed to Sent from the
PostgreSQL - general mailing list archive at Nabble.com.