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 deniedAfter 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?
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.