git: bcb73b4107fc - main - Mk/bsd.default-versions.mk: Update to PostgreSQL 17

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Tue, 06 May 2025 18:35:26 UTC
The branch main has been updated by kbowling:

URL: https://cgit.FreeBSD.org/ports/commit/?id=bcb73b4107fc6d0d3b01c39e6382277d25192919

commit bcb73b4107fc6d0d3b01c39e6382277d25192919
Author:     Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2025-05-06 18:33:16 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2025-05-06 18:34:32 +0000

    Mk/bsd.default-versions.mk: Update to PostgreSQL 17
    
    See UPDATING for upgrade advice
    
    PR:             283788
    Approved by:    antoine (exp-run)
---
 Mk/bsd.default-versions.mk |  2 +-
 UPDATING                   | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 1 deletion(-)

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