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.
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.
Add a New Comment