Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 May 2017 16:11:28 -0400
From:      Jim Ohlstein <jim@mailman-hosting.com>
To:        Baptiste Daroussin <bapt@FreeBSD.org>,  =?ISO-8859-1?Q?Jos=E9_Garc=EDa?= Juanino <jjuanino@gmail.com>
Cc:        ports <freebsd-ports@freebsd.org>
Subject:   Re: Several PostgreSQL versions installed
Message-ID:  <1495743088.9249.1.camel@mailman-hosting.com>
In-Reply-To: <20170525200607.3onokw5yqrprpwdr@ivaldir.net>
References:  <CAAVO5%2BJ_C597=-ueJoEaqW4xYXD1UOyz_z2CSARjS8Lfoe9oVw@mail.gmail.com> <20170525200607.3onokw5yqrprpwdr@ivaldir.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2017-05-25 at 22:06 +0200, Baptiste Daroussin wrote:
> On Thu, May 25, 2017 at 09:59:08PM +0200, José García Juanino wrote:
> > Hi FreeBSD porters,
> > 
> > 
> > I have been read the following thread
> > 
> > "Proposal to fix postgresql package maintainance nightmare"
> > 
> > https://lists.freebsd.org/pipermail/freebsd-ports/2015-July/099842.
> > html
> > 
> > but I think that, two years later, there is no progress on this
> > matter.
> > I am unaware if there is any project that addresses this issue, so
> > my
> > apologies if this work is already in progress.
> 
> No progress as far as I am aware. except a PoC (early, ugly,
> unfinished)
> https://people.freebsd.org/~bapt/pgsql95.diff
> 
> > 
> > The goal of the new postgresql port schema should be, in my honest
> > opinion:
> > 
> > * It must allow to install distinct version without ugly hacks as
> > jails,
> >   etc. Jails are a overkill to accomplish this task.
> > 
> > * Each software version must live in a separate directory
> > ${LOCALBASE}/pgsql/X.Y:
> > 
> >     /usr/local/pgsql/9.2
> >     /usr/local/pgsql/9.4
> >     /usr/local/pgsql/9.6
> > 
> >   and so on.
> 
> Yes this is what I was proposing
> > 
> > 
> > * It is not necessary to provide an installed version as the
> > default.
> >   For example, if we need 9.5 and 9.6 versions installed, both are
> >   equally valid, and we do not need the standard postgresql
> > binaries
> >   (pg_dump, psql, pg_ctl, etc) installed in the standard PATH as
> >   /bin:/usr/bin:/usr/local/bin.  Those binaries are located under
> >   /usr/local/pgsql/X.Y/bin directory, and everyone can configure
> > the
> >   shell environment variable PATH to add the previous directory:
> >   PATH=$PATH:/usr/local/pgsql/X.Y/bin. Please do not make symlinks
> > from
> >   /usr/local/bin/pg_some to specific
> > /usr/local/pgsql/X.Y/bin/pg_some,
> >   it has very little advantages and a lot of drawbacks. Under a
> > prompt
> >   command line, a skilled database administrator always need to
> > know
> >   what command version is executing and do not need an standard
> > location
> >   as /usr/local/bin.
> 
> For a database administrator yes playing with the path is enough, but
> for a new
> comer installing pgsql for his blog this would be complicated
> > 
> > 
> > * The rc and the periodic script must be versioned also:
> > 
> >     /usr/local/etc/rc.d/postgresql9.6
> >     /usr/local/etc/rc.d/postgresql5.6
> > 
> 
> yes
> 
> One important thing is there is a need for a small modification for
> the
> postgresql build system: add a proper RUNPATH for the binaries to
> always find
> the right libpq
> 
> > 
> > 
> > Best regards, and thanks to the volunteers for make FreeBSD an
> > great
> > operating system!
> > 
> 
> Note that the same should apply to mysql/mariadb/etc
> 

And in a perfect world, PHP also. We run different versions in
different jails now. While it works, it is a bit of overkill.

-- 
Jim Ohlstein
Professional Mailman Hosting
https://mailman-hosting.com/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1495743088.9249.1.camel>