Re: Restaurer la base SQL Postgre - Procédure ?
Posté : mer. oct. 16, 2019 7:54 am
Bonjour,
J'ai pu tester une restauration de la base OpenConcerto lors de la mise en place d'un serveur de secours (backup).
(restauration faite à partir d'un sauvegarde effectuée de la façon suivante à partir d'une machine source :
/usr/bin/pg_dump --host 192.168.0.35 --port 5432 --username "openconcerto" --no-password --format custom --blobs --verbose --file "${HOME}/Documents/Save_db_OpenConcerto/BDD_OpenConcerto_${DATEJ}.backup" "OpenConcerto")
J'ai tout d'abord installé OpenConcerto sur le serveur cible selon la procédure indiquée par ILM.
5 schémas sont présents en base :
-Common
-Default
-public
-OpenConcerto42 (175 séquences, 180 tables)
-OpenConcerto48 (174 séquences, 178 tables)
Ces deux schémas OpenConcerto42 et OpenConcerto48 sont-il nécessaires au fonctionnement de l'application ?
Pourquoi ces différences au niveau du nombre de tables et de séquences.
Avant l'injection des données par restauration dans le serveur de secours, il existe certaines différences entre les deux environnements :
Serveur source :
OS : Ubuntu 18.04.3 LTS
postgres : 9.5.14
OpenConcerto : 1.6.2
Serveur cible :
OS : Ubuntu 18.04.3 LTS server
postgres : 10.10
OpenConcerto : 1.6.3
Après plusieurs tentatives infructueuse de restauration des données sur cette base, j'opte finalement pour ne pas créer la base OpenConcerto à partir du fichier OpenConcerto-1.6.3.sql mais à partir de ma sauvegarde.
Je supprime donc la base existante, puis, avec le user postgres
pg_restore -U postgres -d postgres -C -v BDD_OpenConcerto_20191014.backup
La restauration se fait sans aucune erreur.
J'effectue ensuite une mise à niveau de la base via l'interface de configuration d'OpenConcerto.
Problème : lorsque je lance l'application OpenConcerto, je ne retrouve pas mes données !
Après analyse, l'application semble "pointer" sur le schéma OpenConcerto42 alors que mes données à jour sont dans le schéma OpenConcerto49.
Ce schéma n'est pas créé par OpenConcerto-1.6.3.sql. Comment est-il présent dans ma sauvegarde ?
181 tables et 176 séquences dans le schéma OpenConcerto42
180 tables et 175 séquences dans le schéma OpenConcerto49
Je tente de remplacer le schéma OpenConcerto49 par OpenConcerto42
- suppression d'OpenConcerto42 (DROP SCHEMA)
- renommage de OpenConcerto49 en OpenConcerto42 (ALTER SCHEMA)
Enfin, je réitère une mise à niveau de la base.
Malgré cela, je n'ai toujours que 180 tables et 175 séquences dans mon schéma.
Lorsque je lance le produit, je retrouve bien mes données (en regardant dans la table CLIENT par exemple).
Cette procédure semble fonctionner mais ne me semble pas très académique.
Quelqu'un a-t-il déjà eu à effectuer une restauration de sa base ? A-t-il rencontré les mêmes difficultés ?
Comment procéder autrement ?
Merci pour vos commentaires.
J'ai pu tester une restauration de la base OpenConcerto lors de la mise en place d'un serveur de secours (backup).
(restauration faite à partir d'un sauvegarde effectuée de la façon suivante à partir d'une machine source :
/usr/bin/pg_dump --host 192.168.0.35 --port 5432 --username "openconcerto" --no-password --format custom --blobs --verbose --file "${HOME}/Documents/Save_db_OpenConcerto/BDD_OpenConcerto_${DATEJ}.backup" "OpenConcerto")
J'ai tout d'abord installé OpenConcerto sur le serveur cible selon la procédure indiquée par ILM.
5 schémas sont présents en base :
-Common
-Default
-public
-OpenConcerto42 (175 séquences, 180 tables)
-OpenConcerto48 (174 séquences, 178 tables)
Ces deux schémas OpenConcerto42 et OpenConcerto48 sont-il nécessaires au fonctionnement de l'application ?
Pourquoi ces différences au niveau du nombre de tables et de séquences.
Avant l'injection des données par restauration dans le serveur de secours, il existe certaines différences entre les deux environnements :
Serveur source :
OS : Ubuntu 18.04.3 LTS
postgres : 9.5.14
OpenConcerto : 1.6.2
Serveur cible :
OS : Ubuntu 18.04.3 LTS server
postgres : 10.10
OpenConcerto : 1.6.3
Après plusieurs tentatives infructueuse de restauration des données sur cette base, j'opte finalement pour ne pas créer la base OpenConcerto à partir du fichier OpenConcerto-1.6.3.sql mais à partir de ma sauvegarde.
Je supprime donc la base existante, puis, avec le user postgres
pg_restore -U postgres -d postgres -C -v BDD_OpenConcerto_20191014.backup
La restauration se fait sans aucune erreur.
J'effectue ensuite une mise à niveau de la base via l'interface de configuration d'OpenConcerto.
Problème : lorsque je lance l'application OpenConcerto, je ne retrouve pas mes données !
Après analyse, l'application semble "pointer" sur le schéma OpenConcerto42 alors que mes données à jour sont dans le schéma OpenConcerto49.
Ce schéma n'est pas créé par OpenConcerto-1.6.3.sql. Comment est-il présent dans ma sauvegarde ?
181 tables et 176 séquences dans le schéma OpenConcerto42
180 tables et 175 séquences dans le schéma OpenConcerto49
Je tente de remplacer le schéma OpenConcerto49 par OpenConcerto42
- suppression d'OpenConcerto42 (DROP SCHEMA)
- renommage de OpenConcerto49 en OpenConcerto42 (ALTER SCHEMA)
Enfin, je réitère une mise à niveau de la base.
Malgré cela, je n'ai toujours que 180 tables et 175 séquences dans mon schéma.
Lorsque je lance le produit, je retrouve bien mes données (en regardant dans la table CLIENT par exemple).
Cette procédure semble fonctionner mais ne me semble pas très académique.
Quelqu'un a-t-il déjà eu à effectuer une restauration de sa base ? A-t-il rencontré les mêmes difficultés ?
Comment procéder autrement ?
Merci pour vos commentaires.