Re: Server tries to read a different config file than it is supposed to

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: twoflower <standa(dot)kurik(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Server tries to read a different config file than it is supposed to
Date: 2015-05-23 15:06:45
Message-ID: 5629.1432393605@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

twoflower <standa(dot)kurik(at)gmail(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2015-05-23 15:20:50 Re: Re: Allowing postgresql to accept 0xff syntax for data types that it makes sense for?
Previous Message Adrian Klaver 2015-05-23 14:11:51 Re: Server tries to read a different config file than it is supposed to