Re: location of the configuration files

From: Lamar Owen <lamar(dot)owen(at)wgcr(dot)org>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Oliver Elphick <olly(at)lfix(dot)co(dot)uk>, Vince Vielhaber <vev(at)michvhf(dot)com>, "J(dot) M(dot) Brenner" <doom(at)kzsu(dot)stanford(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: location of the configuration files
Date: 2003-02-14 01:39:13
Message-ID: 200302132039.13966.lamar.owen@wgcr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thursday 13 February 2003 20:09, Bruce Momjian wrote:
> Lamar Owen wrote:
> > This isn't the same environment, Bruce, that you got into back when it
> > was still Postgres95.

> So you are saying this isn't my grandma's database anymore. :-)

I actually thought of saying it that way, too. :-)

> Anyway, I think I have _a_ proposal that we can use to work toward a
> goal.

> First, a few conclusions:

> We can't use /var/run because we need the postmaster to create
> those, and it isn't root.

It isn't without precedent to have a directory under /var/run. Maybe
/var/run/postgresql. Under this one could have a uniquely named pid file. I
say uniquely named so that multiple postmasters could run. Naming those
files could be fun. /var/run/postgresql would be owned by the postmaster run
user. This of course requires root to install -- but would be completely
optional.

> pg_dumpall > foo && rm -rf $PGDATA && initdb

> discards all the config files.

Yes, this is a big deal. It makes it more difficult to properly restore.
While it's not impossible to do so now, of course, it just could be a little
easier.

> So, I propose we change a few things.

> OK, first, we keep postmaster.pid and postmaster.opts in /data. We
> can't put them in /var/run, and /data seems like the best spot for them.

Can we make that configurable? The default in pgdata is fine; just having the
option is good.

> That leaves postgresql.conf, pg_hba.conf, and pg_ident.conf. I
> recommend moving them all, by default, into pgsql/etc. I recommend we
> add these to postgresql.conf:

> data_dir = ../data
> pg_hba_dir = ./
> pg_ident_dir = ./

> Those paths are relative to postgresql.conf.

And these are all just defaults, easily changed. Good.

> We then add a PGCONFIG variable and postmaster -C flag to point to the
> config _directory_. That way, if folks want to move all of this into
> /etc, then easily do that. This also pulls those files out of /data so
> they are easier to back up.

Yes. I'm thinking along the lines of this sort of structure:
/etc
|---postgresql
|----- name of postmaster one (unique ID of some kind)
|----- name of postmaster two
.
.

Not difficult.

> We can also firm up stuff in 7.5 by removing PGDATA and -D, and perhaps
> removing the other duplicate postmaster flags that have postgresql.conf
> entries.

Now I really _like_ this idea. By removing it to 7.5, and therefore
deprecating it in 7.4, this brings best practice into effect.

However, at the same time, I wouldn't be opposed to leaving them in place,
either, for backwards compatibility.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2003-02-14 01:40:37 Re: Someone's broken psql's connection-failure error reporting
Previous Message Bruce Momjian 2003-02-14 01:38:07 Re: Do we always need the socket file?