Re: Allowing multiple versions of PG under NetBSD

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Larry Rosenman <ler(at)lerctr(dot)org>, Bruce Momjian <bruce(at)momjian(dot)us>, "D'Arcy J(dot)M(dot) Cain" <darcy(at)druid(dot)net>, "Maeldron T(dot)" <maeldron(at)gmail(dot)com>, Forums postgresql <pgsql-general(at)postgresql(dot)org>, pgsql-general-owner(at)postgresql(dot)org
Subject: Re: Allowing multiple versions of PG under NetBSD
Date: 2016-07-30 02:36:49
Message-ID: CAEepm=1qek63YUsUiCT8ewY3k_r2my4ZSeSuPQ=1rXCXmnpOxw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Jul 30, 2016 at 8:51 AM, Stephen Frost <sfrost(at)snowman(dot)net> wrote:
> * Larry Rosenman (ler(at)lerctr(dot)org) wrote:
>> On 2016-07-29 15:14, Bruce Momjian wrote:
>> >On Fri, Jul 29, 2016 at 03:09:59PM -0500, Larry Rosenman wrote:
>> >>>Data Directory naming, as well as keeping the init-scripts straight.
>> >>>
>> >>And who gets 5432, and Unix socket naming, it starts to get messy.....
>> >
>> >Well, pg_upgrade uses a socket created in the current run directory, so
>> >that should be fine.
>> if we're talking JUST for pg_upgrade, that's one thing. Peaceful
>> co-existence on an ongoing basis
>> is quite another.....
>
> It's not an insurmountable problem, though it's a bit painful. Still,
> both the Debian-based and RedHat-based distributions demonstrate how it
> can be done.

As a user of FreeBSD (as of recently) and Debian (since forever), I
have often thought that I''d really like to see a FreeBSD port of the
excellent postgresql-common package[1], and then
postgresql[major][minor] ports that can be installed in parallel. The
binaries would have be installed under somewhere like
/usr/local/libexec/postgresql/[major].[minor], the default pg_data
location would have to be somewhere like like
/usr/local/pg_data/[major].[minor]/[cluster-name], the config files
somewhere like /usr/local/etc/postgresql/[major].[minor]/[cluster-name]/postgresql.conf
(or they could stay inside the pg_data dirs, as long as they can be
found by the postgresql-common cluster management scripts), and the
postgresql-common port would provide wrapper commands like
pg_createcluster, pg_lsclusters, ... and that psql wrapper that takes
an extra optional switch like --cluster 9.5/main. The client library
on the other hand would not be versioned in that way: there would be
just the latest major version's libpq5[2], and that is what other
things like py-psycopg2 etc would depend on (instead of depending on a
specific client major version like postgresql93-client).

[1] https://packages.debian.org/jessie/postgresql-common
[2] https://packages.debian.org/jessie/libpq5

--
Thomas Munro
http://www.enterprisedb.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Michael Paquier 2016-07-30 11:59:44 Re: pg_dumping extensions having sequences with 9.6beta3
Previous Message David Steele 2016-07-29 21:58:53 Re: restore a specific schema from physical backup