Closed arete closed 4 years ago
@xtraeme
@Hoshpak Can this be closed since we only seem to support version 9.x? If there are no plans on including the newer ones that is.
We do want newer versions.
Indeed, someones just has to do it.
Ok roger that, is the issue how to support different versions at once? Or is it just that it just hasn't been done by anyone yet?
Both, since an automatic upgrade is not possible, we should figure out how to provide several versions at once so people who want to upgrade can do so manually. It shouldn't be hard if all libraries are versioned properly so they don't conflict. My guess is that no one did it yet since relatively few people run postgres servers on Void so there's not much interest in it.
There are large sets of unversioned libraries and other assets. The mentioned Arch package installs into /opt https://www.archlinux.org/packages/extra/x86_64/postgresql-old-upgrade/.
/usr/lib/postgresql/ascii_and_mic.so
/usr/lib/postgresql/cyrillic_and_mic.so
/usr/lib/postgresql/dict_snowball.so
/usr/lib/postgresql/euc2004_sjis2004.so
/usr/lib/postgresql/euc_cn_and_mic.so
/usr/lib/postgresql/euc_jp_and_sjis.so
/usr/lib/postgresql/euc_kr_and_mic.so
/usr/lib/postgresql/euc_tw_and_big5.so
/usr/lib/postgresql/latin2_and_win1250.so
/usr/lib/postgresql/latin_and_mic.so
/usr/lib/postgresql/libpqwalreceiver.so
/usr/lib/postgresql/plpgsql.so
/usr/lib/postgresql/utf8_and_ascii.so
/usr/lib/postgresql/utf8_and_big5.so
/usr/lib/postgresql/utf8_and_cyrillic.so
/usr/lib/postgresql/utf8_and_euc2004.so
/usr/lib/postgresql/utf8_and_euc_cn.so
/usr/lib/postgresql/utf8_and_euc_jp.so
/usr/lib/postgresql/utf8_and_euc_kr.so
/usr/lib/postgresql/utf8_and_euc_tw.so
/usr/lib/postgresql/utf8_and_gb18030.so
/usr/lib/postgresql/utf8_and_gbk.so
/usr/lib/postgresql/utf8_and_iso8859.so
/usr/lib/postgresql/utf8_and_iso8859_1.so
/usr/lib/postgresql/utf8_and_johab.so
/usr/lib/postgresql/utf8_and_sjis.so
/usr/lib/postgresql/utf8_and_sjis2004.so
/usr/lib/postgresql/utf8_and_uhc.so
/usr/lib/postgresql/utf8_and_win.so
/usr/share/postgresql/conversion_create.sql
/usr/share/postgresql/extension/plperl--1.0.sql
/usr/share/postgresql/extension/plperl--unpackaged--1.0.sql
/usr/share/postgresql/extension/plperl.control
/usr/share/postgresql/extension/plperlu--1.0.sql
/usr/share/postgresql/extension/plperlu--unpackaged--1.0.sql
/usr/share/postgresql/extension/plperlu.control
/usr/share/postgresql/extension/plpgsql--1.0.sql
/usr/share/postgresql/extension/plpgsql--unpackaged--1.0.sql
/usr/share/postgresql/extension/plpgsql.control
/usr/share/postgresql/extension/plpython2u--1.0.sql
/usr/share/postgresql/extension/plpython2u--unpackaged--1.0.sql
/usr/share/postgresql/extension/plpython2u.control
/usr/share/postgresql/extension/plpythonu--1.0.sql
/usr/share/postgresql/extension/plpythonu--unpackaged--1.0.sql
/usr/share/postgresql/extension/plpythonu.control
/usr/share/postgresql/extension/pltcl--1.0.sql
/usr/share/postgresql/extension/pltcl--unpackaged--1.0.sql
/usr/share/postgresql/extension/pltcl.control
/usr/share/postgresql/extension/pltclu--1.0.sql
/usr/share/postgresql/extension/pltclu--unpackaged--1.0.sql
/usr/share/postgresql/extension/pltclu.control
/usr/share/postgresql/information_schema.sql
/usr/share/postgresql/pg_hba.conf.sample
/usr/share/postgresql/pg_ident.conf.sample
/usr/share/postgresql/pg_service.conf.sample
/usr/share/postgresql/postgres.bki
/usr/share/postgresql/postgres.description
/usr/share/postgresql/postgres.shdescription
/usr/share/postgresql/postgresql.conf.sample
/usr/share/postgresql/recovery.conf.sample
/usr/share/postgresql/snowball_create.sql
/usr/share/postgresql/sql_features.txt
/usr/share/postgresql/system_views.sql
/usr/share/postgresql/timezonesets/Africa.txt
/usr/share/postgresql/timezonesets/America.txt
/usr/share/postgresql/timezonesets/Antarctica.txt
/usr/share/postgresql/timezonesets/Asia.txt
/usr/share/postgresql/timezonesets/Atlantic.txt
/usr/share/postgresql/timezonesets/Australia
/usr/share/postgresql/timezonesets/Australia.txt
/usr/share/postgresql/timezonesets/Default
/usr/share/postgresql/timezonesets/Etc.txt
/usr/share/postgresql/timezonesets/Europe.txt
/usr/share/postgresql/timezonesets/India
/usr/share/postgresql/timezonesets/Indian.txt
/usr/share/postgresql/timezonesets/Pacific.txt
/usr/share/postgresql/tsearch_data/danish.stop
/usr/share/postgresql/tsearch_data/dutch.stop
/usr/share/postgresql/tsearch_data/english.stop
/usr/share/postgresql/tsearch_data/finnish.stop
/usr/share/postgresql/tsearch_data/french.stop
/usr/share/postgresql/tsearch_data/german.stop
/usr/share/postgresql/tsearch_data/hungarian.stop
/usr/share/postgresql/tsearch_data/hunspell_sample.affix
/usr/share/postgresql/tsearch_data/hunspell_sample_long.affix
/usr/share/postgresql/tsearch_data/hunspell_sample_long.dict
/usr/share/postgresql/tsearch_data/hunspell_sample_num.affix
/usr/share/postgresql/tsearch_data/hunspell_sample_num.dict
/usr/share/postgresql/tsearch_data/ispell_sample.affix
/usr/share/postgresql/tsearch_data/ispell_sample.dict
/usr/share/postgresql/tsearch_data/italian.stop
/usr/share/postgresql/tsearch_data/norwegian.stop
/usr/share/postgresql/tsearch_data/portuguese.stop
/usr/share/postgresql/tsearch_data/russian.stop
/usr/share/postgresql/tsearch_data/spanish.stop
/usr/share/postgresql/tsearch_data/swedish.stop
/usr/share/postgresql/tsearch_data/synonym_sample.syn
/usr/share/postgresql/tsearch_data/thesaurus_sample.ths
/usr/share/postgresql/tsearch_data/turkish.stop
we should figure out how to provide several versions at once so people who want to upgrade can do so manually. It shouldn't be hard if all libraries are versioned properly so they don't conflict. My guess is that no one did it yet since relatively few people run postgres servers on Void so there's not much interest in it.
The easiest way to get this done is to create new postgres10
, postgres11
, and postgres12
packages which all conflict with each other. That's what FreeBSD does for example.
While allowing multiple versions to be installed side-by-side would be better, multiple conflicting versions would already be a vast improvement over the current situation. 9.6 will still be supported until Nov 2022, there are three new major releases (10, 11, and 12) that can't be easily used on Void right now, which is less than ideal.
The easiest way to get this done is to create new
postgres10
,postgres11
, andpostgres12
packages which all conflict with each other. That's what FreeBSD does for example.
My 2 cents if it matters: This makes sense, however, another approach to this could be similar to how the OpenBSD group deals with this. In that it has 2 ports, one for the current version and one for the previous version so that users could utilize pg_upgrade to migrate to the next major version if they wanted. Plus it would be less of a headache when postgresql versions reach the 20s. Just a thought...
Gentoo allows to install every major version simultaneously, will steal from there.
Version 12 is ready to test: #18121
cc @mustaqimM @bvdeenen
Added postgresql12
, that allows to update from 9.6 with pg_upgrade.
For next postgresql update(version 10), is correct add an alternative package postgresql9.6 to fix dump/restore database procedure for update ? Or add an package postgresql upgrade like to https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/postgresql-old-upgrade