Files
abonnel-www/a15c027a-68ed-4a51-9aa6-ac46764f0dad/index.md
T
2026-05-15 09:29:56 +02:00

61 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```