twoflower <standa.kurik@gmail.com> writes:
> 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.
Testing this, the problem appears to be that you forgot the keyword
"start", so pg_ctl didn't really do anything. It's always a good
idea to redirect pg_ctl's stdout/stderr somewhere, so that you can
look at it in event of problems. (It will *not* magically go to the
server log file.)
> So I
> checked the log file and there was:
> *FATAL: could not open file "/storage/postgresql/9.4/data/postgresql.conf":
> Permission denied*
I suspect this was left over from some previous attempt.
> After fixing the ownership of this file, it worked.
I can't explain that claim, but for me, -c config_file=something
seems to work as you'd expect, and a look at the server source
code confirms that it should honor that (cf SelectConfigFiles()).
I think the documentation Adrian pointed to is a bit out of date,
or at least oversimplified.
One possible theory is that you had an "include" directive in
the config file in /etc, causing it to try to read the other one?
regards, tom lane