PostgreSQL package versioning suggestion

Thomas Munro munro at
Fri Dec 30 00:47:15 UTC 2016


I have run into two problems with the current PostgreSQL ports when
installed via pkg, which make PostgreSQL significantly less convenient
on FreeBSD than on other software distributions:

1.  You can't install more than one major version at a time.  This is
somewhat inconvenient not only for upgrades of single database
clusters, but also for simultaneously running different clusters at
different versions on different upgrade schedules.  The packaging on
other popular systems allows this and it's a popular feature.

2.  Other packages such as py27-psycopg2 (the leading Python client
library for talking to PosgreSQL) depend on a specific major version,
currently 9.3.  That means that if you're using Python to talk to
PostgreSQL installed via pkg, you can't upgrade to PostgreSQL 9.6, you
have to stick with 9.3.

I understand that the second problem can be solved by not using pkg.
But I really want to use pkg, and I suspect other people migrating
from systems like Debian would like to as well.

Would it be possible to make the port for PostgreSQL 10 (the next
version after 9.6 due late 2017, note that a number has been dropped
from the versioning scheme) install into a versioned location, and not
conflict with other major versions?  For example it could install
binaries into /usr/local/lib/postgres10/bin/... (or some more
FreeBSDesque path scheme, I have no opinion on those details).  Then
going forward new majors releases would not conflict with each other.
It doesn't matter so much (to me at least) if py27-psycopg2 still
depends on the old 9.3 client, just as long as it doesn't force me to
uninstall newer major releases of the database server.

Apologies if someone's already addressing these problem, I wasn't sure
where to look.

Thanks for reading,

Thomas Munro

More information about the freebsd-ports mailing list