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>