Ce guide résume le processus réel de migration de la version 14 de PostgreSQL à la version 16 sur un serveur Ubuntu, sans perte de données.
Sauvegarde complète des données, installation de la nouvelle version, restauration des données, suppression de l'ancienne version sont tous décrits étape par étape.
1. Vérification de la version actuelle de PostgreSQL et de l'état du cluster
psql --version
pg_lsclusters
Vérifiez que 14/main est activé dans l'état du cluster.
2. Sauvegarde complète des données
PostgreSQL permet de faire une sauvegarde complète incluant la base de données, les utilisateurs et les informations sur les droits via la commande pg_dumpall
.
sudo -u postgres pg_dumpall > ~/pg_backup_all.sql
Exemple de vérification de la sauvegarde (facultatif)
head ~/pg_backup_all.sql
tail ~/pg_backup_all.sql
Vérification de l'existence et de la taille du fichier
ls -lh ~/pg_backup_all.sql
3. Installation de PostgreSQL 16
3-1. Enregistrement du dépôt officiel
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. Installation de PostgreSQL 16
sudo apt update
sudo apt install postgresql-16 -y
Une fois l'installation terminée, vérifiez à nouveau l'état du cluster.
pg_lsclusters
4. Transition du cluster
Arrêtez l'ancienne version 14 et démarrez la version 16.
sudo systemctl stop postgresql@14-main
sudo systemctl start postgresql@16-main
5. Restauration des données (avec PostgreSQL 16)
Avant la restauration, vérifiez que vous pouvez bien vous connecter à la version 16 nouvellement installée.
(Vérifiez le numéro de port avec pg_lsclusters
)
sudo -u postgres psql -p 5433
Si la connexion réussit, restaurez les données sauvegardées avec la commande suivante :
sudo -u postgres psql < ~/pg_backup_all.sql
Vous pouvez vérifier s'il y a des erreurs avec
less ~/pg_backup_all.sql | grep ERROR
.
6. Suppression de PostgreSQL 14 (optionnel)
Si la mise à niveau et la restauration des données se sont bien déroulées, vous pouvez supprimer PostgreSQL 14 :
sudo pg_dropcluster 14 main --stop
sudo apt remove postgresql-14 -y
Conclusion
Ce processus sera utile pour ceux qui ont besoin de mettre à niveau et de migrer de PostgreSQL 14 vers 16 sur un serveur Ubuntu.
Suivez les étapes de sauvegarde des données → installation de la nouvelle version → restauration → suppression de l'ancienne version pour effectuer la mise à niveau en toute sécurité.
Adaptez le nom d'utilisateur du serveur, le numéro de port, etc. à votre environnement.
Aucun commentaire.