Dies ist ein Leitfaden, der den tatsächlichen Prozess der Migration von PostgreSQL 14 auf PostgreSQL 16 ohne Datenverlust auf einem Ubuntu-Server darstellt.
Gesamtes Daten-Backup, Installation der neuen Version, Datenwiederherstellung, Entfernung der alten Version sind so gegliedert, dass Sie jeden Schritt leicht nachvollziehen können.

Symbol für PostgreSQL-Upgrade von 14 auf 16

1. Aktuelle PostgreSQL-Version und Cluster-Status überprüfen

psql --version
pg_lsclusters

Überprüfen Sie, ob 14/main im Cluster-Status aktiv ist.


2. Gesamtes Daten-Backup

Mit dem Befehl pg_dumpall können Sie ein Backup aller Datenbanken, Benutzer und Berechtigungsinformationen durchführen.

sudo -u postgres pg_dumpall > ~/pg_backup_all.sql

Beispiel zur Backup-Überprüfung (optional)

head ~/pg_backup_all.sql
tail ~/pg_backup_all.sql

Überprüfung der Datei-Existenz und -Größe

ls -lh ~/pg_backup_all.sql

3. PostgreSQL 16 installieren

3-1. Offizielles Repository registrieren

sudo apt update
sudo apt install wget ca-certificates -y
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pgdg.gpg
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" |   sudo tee /etc/apt/sources.list.d/pgdg.list

3-2. PostgreSQL 16 installieren

sudo apt update
sudo apt install postgresql-16 -y

Nachdem die Installation abgeschlossen ist, überprüfen Sie erneut den Cluster-Status.

pg_lsclusters

4. Cluster wechseln

Stoppen Sie die bestehende Version 14 und starten Sie die Version 16.

sudo systemctl stop postgresql@14-main
sudo systemctl start postgresql@16-main

5. Datenwiederherstellung (auf PostgreSQL 16)

Überprüfen Sie vor der Wiederherstellung, ob Sie erfolgreich auf die neu installierte Version 16 zugreifen können.
(Der Port kann über pg_lsclusters überprüft werden)

sudo -u postgres psql -p 5433

Wenn der Zugriff funktioniert, stellen Sie die gesicherten Daten mit dem folgenden Befehl wieder her:

sudo -u postgres psql < ~/pg_backup_all.sql

Über den Befehl less ~/pg_backup_all.sql | grep ERROR können Sie überprüfen, ob Fehler aufgetreten sind.


6. PostgreSQL 14 entfernen (optional)

Wenn das Upgrade und die Datenwiederherstellung erfolgreich waren und keine Probleme aufgetreten sind, können Sie PostgreSQL 14 entfernen:

sudo pg_dropcluster 14 main --stop
sudo apt remove postgresql-14 -y

Fazit

Dieser Prozess ist für diejenigen nützlich, die ein Upgrade und eine Migration von PostgreSQL 14 auf 16 auf einem Ubuntu-Server benötigen.
Datenbackup → Neuinstallation → Wiederherstellung → Entfernung der alten Version ist die Reihenfolge, der Sie folgen sollten, um die Version sicher zu wechseln.

Passen Sie Benutzernamen, Portnummern usw. entsprechend Ihrer Umgebung an.