Migration PostgreSQL
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