Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriaux:restaurer_depuis_les_fichiers_postgresql [2020/05/29 11:40] – [Démarrer l'ancienne version de postgresql en prenant en compte les données "historique"] dany | tutoriaux:restaurer_depuis_les_fichiers_postgresql [2020/05/29 12:06] (Version actuelle) – dany | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Situation ====== | ====== Situation ====== | ||
- | L' | + | L' |
+ | |||
+ | Parce que : | ||
+ | |||
+ | * un upgrade Linux n'a pas mis à jour la base de postgresql mais à créer une nouvelle version, | ||
+ | * simplement vous avez un backup de votre disque mais pas de backup de la DB | ||
Néanmoins, on a encore accès aux données sur le disque dur de l' | Néanmoins, on a encore accès aux données sur le disque dur de l' | ||
+ | |||
+ | |||
On prendra un exemple où l'on doit restaurer une base de données construite avec postgresql-9.6 et remise dans une installation à jour avec postgresql-12. | On prendra un exemple où l'on doit restaurer une base de données construite avec postgresql-9.6 et remise dans une installation à jour avec postgresql-12. | ||
+ | |||
+ | On utilisera la version 9.6 et 12 , adaptez aux versions que vous avez | ||
====== Préambule : sauvegarder la base de données ====== | ====== Préambule : sauvegarder la base de données ====== | ||
Ligne 25: | Ligne 34: | ||
- | Copier/ | + | Copier/ |
+ | |||
+ | :IMPORTANT: On peut choisir un autre dossier. En choisissant d' | ||
+ | |||
+ | |||
+ | Modifiez / | ||
+ | <file txt pg_hba.conf> | ||
- | Modifier / | ||
- | < | ||
local | local | ||
host all | host all | ||
- | </code> | + | </file> |
- | Modifier | + | Modifiez |
- | <code> | + | <file txt postgresql.conf> |
listen_addresses = ' | listen_addresses = ' | ||
port = 4000 # (change requires restart) | port = 4000 # (change requires restart) | ||
- | </code> | + | </file> |
- | Copier/ | + | Copier/ |
Vérifier que tout appartient et est fait par l' | Vérifier que tout appartient et est fait par l' | ||
- | < | + | < |
- | chown -R postgres / | + | POSTGRESBASE=/ |
- | chmod -R o-rwx / | + | chown -R postgres |
+ | chmod -R o-rwx | ||
</ | </ | ||
Ligne 51: | Ligne 65: | ||
(attention, à partir de postgresql-12, | (attention, à partir de postgresql-12, | ||
+ | (!) Rappel / | ||
< | < | ||
/ | / | ||
</ | </ | ||
- | Une fois cela fait, avec la nouvelle version de postgresl (pour rappel, c'est la 12 pour cet exemple) faire : | + | Une fois cela fait, avec la nouvelle version de postgresl (pour rappel, c'est la 12 pour cet exemple), en indiquant le port de la 9.6 faire : |
< | < | ||
/ | / | ||
Ligne 66: | Ligne 81: | ||
- | Restaurez votre backup , | + | Restaurez votre backup , |
- | < | + | < |
sudo -i -u postgres | sudo -i -u postgres | ||
psql < noalyss_backup.dmp | psql < noalyss_backup.dmp | ||
Ligne 78: | Ligne 93: | ||
====== Complément (version >= 12) ====== | ====== Complément (version >= 12) ====== | ||
- | À partir de la version 12 , on ne peut plus utiliser "with oids" qui était le défaut jusque là :-/ | + | :TO-READ: Cette étape est absolument optionnelle et ne fera qu' |
+ | |||
+ | À partir de la version 12 , on ne peut plus utiliser "with oids" qui était le défaut jusque là | ||
Il va falloir faire un script pour les modifier, quand la 9.6 tourne, se connecter et faire **pour chaque base de données**, en tant que postgres : | Il va falloir faire un script pour les modifier, quand la 9.6 tourne, se connecter et faire **pour chaque base de données**, en tant que postgres : | ||
- | < | + | < |
postgres@dany: | postgres@dany: | ||
postgres=# | postgres=# |