Several PostgreSQL versions installed

José García Juanino jjuanino at gmail.com
Thu May 25 19:59:09 UTC 2017


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.

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.


* 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.


* The rc and the periodic script must be versioned also:

    /usr/local/etc/rc.d/postgresql9.6
    /usr/local/etc/rc.d/postgresql5.6



Best regards, and thanks to the volunteers for make FreeBSD an great
operating system!




-- 
José G. Juanino


More information about the freebsd-ports mailing list