aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2025-05-06 18:33:16 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2025-05-06 18:34:32 +0000
commitbcb73b4107fc6d0d3b01c39e6382277d25192919 (patch)
tree3bc7ee80051ea01a52c876a7baae5e544f2ee753
parent57e6f009f7bd19d51676173112ca412a638cddb3 (diff)
Mk/bsd.default-versions.mk: Update to PostgreSQL 17
See UPDATING for upgrade advice PR: 283788 Approved by: antoine (exp-run)
-rw-r--r--Mk/bsd.default-versions.mk2
-rw-r--r--UPDATING53
2 files changed, 54 insertions, 1 deletions
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index 775bcd1783bc..177b350b2a93 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -131,7 +131,7 @@ _EXPORTED_VARS+= _PERL5_FROM_BIN
PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R}
. endif
# Possible values: 13, 14, 15, 16, 17
-PGSQL_DEFAULT?= 16
+PGSQL_DEFAULT?= 17
# Possible values: 8.1, 8.2, 8.3, 8.4
PHP_DEFAULT?= 8.3
# Possible values: rust, legacy
diff --git a/UPDATING b/UPDATING
index 3c4865293c07..617d0f1646a9 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,59 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20250506:
+ AFFECTS: users of databases/postgresql* and other software using PostgreSQL to run
+ AUTHOR: kbowling@FreeBSD.org
+
+ The default version of PostgreSQL has been switched from 16 to 17.
+ The upgrade procedure can use up twice the space the databases
+ currently needs. If you have a big amount of stored data take a
+ closer look at the manpage of pg_upgrade for avoidance and/or
+ speedup of the upgrade.
+
+ The upgrade instructions consider a basic usage and do not match
+ complex scenarios like replication, sharding, or similar.
+
+ Upgrade instructions:
+
+ First stop your PostgreSQL, create PostgreSQL-binaries and backup your data.
+ If you have another Version of PostgreSQL installed, for example 16, your
+ files are named according to this.
+
+ # service postgresql stop
+ # pkg create postgresql16-server postgresql16-contrib
+ # mkdir /tmp/pg-upgrade
+ # tar xf postgresql16-server-16.8.pkg -C /tmp/pg-upgrade
+ # tar xf postgresql16-contrib-16.8.pkg -C /tmp/pg-upgrade
+ # pkg delete -f databases/postgresql16-server databases/postgresql16-contrib databases/postgresql16-client
+
+ Now update PostgreSQL:
+
+ pkg user:
+ # pkg install databases/postgresql17-server databases/postgresql17-contrib
+ # pkg upgrade
+
+ Portmaster users:
+ # portmaster databases/postgresql17-server databases/postgresql17-contrib
+ # portmaster -a
+
+ Portupgrade users:
+ # portinstall databases/postgresql17-server databases/postgresql17-contrib
+ # portupgrade -a
+
+ After installing the new PostgreSQL version you need to convert
+ all your databases to new version:
+
+ # su -l postgres -c "/usr/local/bin/initdb --encoding=utf-8 --lc-collate=C -D /var/db/postgres/data17 -U postgres"
+ # su -l postgres -c "pg_upgrade -b /tmp/pg-upgrade/usr/local/bin/ -d /var/db/postgres/data16/ -B /usr/local/bin/ -D /var/db/postgres/data17/ -U postgres "
+
+ Now the migration is finished. You can start PostgreSQL again with:
+
+ # service postgresql start
+
+ ATTENTION:
+ 1) If you use non-default initdb options, you have to adjust the initdb-command accordingly
+
20250503:
AFFECTS: users of sysutils/bastille
AUTHOR: jdhurtado@orbiware.com