Re: pg_config, pg_service.conf, postgresql.conf .... - Mailing list pgsql-hackers

From Martin Pitt
Subject Re: pg_config, pg_service.conf, postgresql.conf ....
Date
Msg-id 20060223114252.GE5841@piware.de
Whole thread Raw
In response to Re: pg_config, pg_service.conf, postgresql.conf ....  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: pg_config, pg_service.conf, postgresql.conf ....
List pgsql-hackers
Hi Mark, hi Martijn!

Martijn van Oosterhout [2006-02-23 12:10 +0100]:
> If you're talking about standards perhaps you should consider how
> Debian does it. All configuration is stored in
>
> /etc/postgresql/<version>/<clustername>/
>
> It provides wrapper scripts to run pg_ctl (pg_ctlcluster) on any
> particular cluster which can be run by either the system user owning
> the db, or root.
>
> Within those files is all the information required to find the cluster
> (base directory, etc).

Right. But although this fits well for Debian, this is not necessarily
the case for other Linux distributions, let alone non-Linux systems.
Even less when using the upstream tarball (where all configuration is
usually kept in the data directory itself).

However, Debian has a tool 'pg_lsclusters' which comes pretty close to
what Mark wants, AFAICS:

$ pg_lsclusters
Version Cluster   Port Status Owner    Data directory                     Log file
7.4     main      5432 online postgres /var/lib/postgresql/7.4/main       /var/log/postgresql/postgresql-7.4-main.log
8.1     main      5434 down   postgres /var/lib/postgresql/8.1/main       /var/log/postgresql/postgresql-8.1-main.log
8.1     test      5433 online martin   /home/martin/psql                  /var/log/postgresql/postgresql-8.1-test.log

So, even in the current Debian system we don't have a fixed location
for the data directories, log files, etc. There are defaults, but they
can be customized, for good reasons (like keeping my test cluster in
my home directory, and so on).

> I think the default config is to start all clusters on bootup.

Right; this is customizable in a file start.conf
(auto|manual|disabled) in the cluster configuration directory.

> The main downside of this system is that some sysadmin pretty much
> needs to create the clusters for everyone.

What do you mean in particular? The packages install a default cluster
(e. g. postgresql-8.1 creates a cluster 8.1/main), more clusters can
be created with pg_createcluster.

> I doubt something like this would ever make it into the standard
> distribution though. What you're asking is more a distributer issue
> than an issue for postgres.

I agree. Also, FYI, a while ago I proposed some patches which allow
several major versions to be installed in parallel, but they were
deemed too specific for upstream inclusion (which is fine; it's the
distributor's task to integrate an application into a distribution's
file layout/configuration handling/other quirks).

Thanks,

Martin
--
Martin Pitt        http://www.piware.de
Ubuntu Developer   http://www.ubuntu.com
Debian Developer   http://www.debian.org

In a world without walls and fences, who needs Windows and Gates?

pgsql-hackers by date:

Previous
From: Markus Schiltknecht
Date:
Subject: Join with an array
Next
From: Martijn van Oosterhout
Date:
Subject: Re: Join with an array