Re: PGDATA confusion

From: Thom Brown <thom(at)linux(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PGDATA confusion
Date: 2013-04-14 07:56:12
Message-ID: CAA-aLv6Ut2r=m79OPykMuP4-=9BEfOadSAvwaphQgubivOkymQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On 16 August 2012 08:30, Thom Brown <thom(at)linux(dot)com> wrote:
> On 16 August 2012 04:00, Bruce Momjian <bruce(at)momjian(dot)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

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Tom Lane 2013-04-14 14:50:46 Re: PGDATA confusion
Previous Message Rodrigo Barboza 2013-04-13 17:23:14 Re: User defined type without single quotes