On 16 August 2012 08:30, Thom Brown <thom@linux.com> wrote:
> On 16 August 2012 04:00, Bruce Momjian <bruce@momjian.us> wrote:
>> On Fri, Nov 4, 2011 at 12:32:13PM -0400, Bruce Momjian wrote:
>>> Thom Brown wrote:
>>> > > So if one set PGDATA to somewhere which had no database files at all,
>>> > > but just postgresql.conf, it could still work (assuming it, in turn,
>>> > > set data_directory correctly), but not vice versa. ?It would make more
>>> > > sense to call it PGCONFIG, although I'm not proposing that, especially
>>> > > since PGDATA makes sense when it comes to initdb.
>>> > >
>>> > > There are probably plenty of other places in the docs which also don't
>>> > > adequately describe PGDATA or -D.
>>> > >
>>> > > Any disagreements? ?If not, should I write a patch (since someone will
>>> > > probably accuse me of volunteering anyway) or would someone like to
>>> > > commit some adjustments?
>>> >
>>> > No opinions on this?
>>>
>>> Yes. I had kept it to deal with later. Please work on a doc patch to
>>> try to clean this up. pg_upgrade just went through this confusion and I
>>> also was unhappy at how vague things are in this area.
>>>
>>> Things got very confusing with pg_upgrade when PGDATA pointed to the
>>> configuration directory and the data_directory GUC pointed to the data
>>> directory.
>>
>> I have applied the attached doc patch for PG 9.3 to clarify PGDATA.
I've found another unfortunate inconsistency.
PGDATA is not necessarily the same location in these 2 commands:
pg_ctl start -D DATADIR
pg_ctl stop -D DATADIR
The first one requires that the postgresql.conf file be located in the
specified directory. The second one needs to find the pid file. On
Debian/Ubuntu/Linux Mint/Gentoo (and probably most other Linux
distros), it would mean 2 different locations for each:
pg_ctl start -D /etc/postgresql/9.2/main/
pg_ctl stop -D /var/lib/postgresql/9.2/main/
pg_ctl --help confusingly tells us that DATADIR is the "location of
the database storage area". But this clearly isn't true when starting
a cluster.
--
Thom