Dans ce guide, je vous explique les étapes que j'ai appliquée récemment pour migrer une base de données PostgreSQL d'un ancien système à une nouvelle infrastructure. Il couvre la mise à niveau du système, la sauvegarde des bases, leur transfert et restauration, ainsi que la réinitialisation du mot de passe administrateur. ## upgrade de l'ancien SGBD Pour garantir une migration fluide, commencez par mettre à jour le système et ses packages. 🖥️ Commandes à effectuer dans le terminal en tant que **root** ! ``` apt update apt upgrade ``` ℹ️ La version actuelle de PostGres est à 17.1.2. ## Sauvegarde des anciennes bases Une sauvegarde complète de vos bases et de vos rôles est indispensable avant toute migration. 🖥️ Commandes à effectuer dans le terminal avec le user **postgres** : Sauvegarde des bases de données : ``` pg_dumpall -U postgres > sauvegarde.sql ``` Sauvegarde des rôles uniquement : ``` pg_dumpall -U postgres --roles-only > roles.sql ``` Les fichiers sauvegarde.sql et roles.sql contiennent toutes les informations nécessaires pour la restauration. ## Transfert vers la nouvelle machine Transférez les fichiers sauvegardés depuis l'ancienne machine vers la nouvelle. Copie des fichiers `roles.sql` et `sauvegarde.sql` de l'ancienne vers la nouvelle machine. Utilisation de `scp`. ## Restauration Une fois les fichiers copiés, effectuez leur restauration sur la nouvelle machine. 🖥️ Commandes à effectuer dans le terminal avec l'utilisateur **postgres** Importation des rôles : ``` psql -U postgres -f roles.sql ``` Restauration des bases de données ``` psql -U postgres -f sauvegarde.sql ``` ## Réinitialiser le mot de passe de PostGres Pour des raisons de sécurité, réinitialisez le mot de passe de l'utilisateur **postgres**. 🖥️ Commandes à effectuer dans le terminal en tant que **root** : ``` echo "ALTER USER postgres with encrypted password 'your_password';" | sudo -u postgres psql ```