59 lines
1.9 KiB
Markdown
59 lines
1.9 KiB
Markdown
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
|
||
``` |