SAUVEGARDER/RESTAURER sa BDD

xantof
Messages : 504
Enregistré le : dim. juil. 10, 2011 2:33 pm

sam. janv. 14, 2012 4:54 pm

Voici expliqué succinctement les lignes de commandes permettant de sauvegarder et restaurer sa base de donnée. [Quand on y arrive pas autrement!!]

Ceci n'est fait que pour éclairer ceux qui, comme moi, se sentent un peu perdu dès qu'il faut passer en ligne de commande. J'ai voulu comprendre ce que Guillaume m'avait recommandé de faire ICI http://www.openconcerto.org/forum/viewt ... ?f=4&t=335

Les références sont :

http://tadek.pietraszek.org/blog/2005/0 ... d-restore/
http://www.postgresql.org/docs/8.4/inte ... gdump.html
http://www.postgresql.org/docs/8.4/inte ... store.html
http://www.postgresonline.com/special_f ... rmat=a4pdf

Tout ce qui est en italique doit être adapté à VOTRE installation! J'imagine que certains devront indiquer des chemins pour arriver aux scripts ou aux fichiers.


SAUVEGARDE

pg_dump BDDexistante -Fc -f Backupfile.dumppsql -U proprietaireBDD -h 127.0.0.1 -O -x
  • -F format de sortie
  • c determine le type de format d'archivage, ici “custom”, le plus indiqué pour la récupération par pg-restore
  • -f Indique le nom du fichier d'archive (qui sera créé)
  • -U Indique le nom d'utilisateur
  • -h Indique l'adresse “hôte” du serveur
  • -O “sans propriétaire” : pour faire en sorte que la BDD pourra être restaurée par n'importe quel utilisateur tout en lui octroyant les droits
  • -x Evite d'inclure les droits d'accès
RESTAURATION

pg_restore -d bddaccueil Backupfile.dumppsql -U proprietaireBDD -h 127.0.0.1 -O -x
  • -d Indique la BDD à laquelle se connecter et dans laquelle la restauration se fera directement
  • -U Indique l'utilisateur sous lequel se connecter
  • -h Indique l'adresse “hôte” du serveur
  • -O ne change pas le propriétaire
  • -x ne change pas les droits d'accès (ACL)
Donc, pour openconcerto, ça donne les lignes suivantes :

[les seules choses que vous devez adapter à votre propre situation sont le nom du dump – ici Openconcerto.dumppsql, l'adresse du serveur, ici 127.0.0.1 et peut-être les chemins d'accès]

SAUVEGARDE

Code : Tout sélectionner

pg_dump OpenConcerto -Fc -f Openconcerto.dumppsql -U openconcerto -h 127.0.0.1 -O -x
RESTAURATION

La base de données OpenConcerto doit avoir été créée au préalable. Elle doit être vide.

Code : Tout sélectionner

pg_restore -d OpenConcerto Openconcerto.dumppsql -U openconcerto -h 127.0.0.1 -O -x
Notez que j'ai tout de même 3 erreurs à la restauration mais une BDD qui "fonctionne".

Stephan
Modifié en dernier par xantof le ven. avr. 27, 2012 11:27 pm, modifié 1 fois.
Lubuntu 16.04 LTS au travail. Ubuntu 15.04 à la maison. 13 ans sous logiciel propriétaire. OC depuis 2012. Petit Commerce
Comment poser une question sur un forum : http://www.linux-france.org/article/the ... ns-fr.html
Avatar du membre
guillaume
Messages : 2433
Enregistré le : ven. févr. 11, 2011 7:15 pm

lun. janv. 16, 2012 7:00 pm

Super boulot. Merci.
Directeur technique d'OpenConcerto qui dans son temps libre s'occupe du forum.
Pour une assistance pro, nous sommes joignables à ILM Informatique contre quelques jetons.
Pensez aussi à lire le manuel !
obrowny
Messages : 40
Enregistré le : sam. juin 25, 2011 11:34 pm

mar. févr. 21, 2012 8:50 am

Très bien Xantof !
A noter que mon pc a rendu l'âme et il a donc fallu que je me penche sur une restauration.

Le dump peut être fait également via pgadmin pour ceux qui ont des soucis avec les terminaux.

Avant de restaurer la base, il faut effectivement une base propre et vide.
Installer postgresql
Créer un utilisateur openconcerto :

Code : Tout sélectionner

 # createuser openconcerto -P -D -A -R 
(l'argument -P seul est peut être suffisant)

Créer la base de donnée OpenConcerto appartenant à l'utilisateur openconcerto :

Code : Tout sélectionner

 # createdb -O openconcerto OpenConcerto 
Lancer la console de postgresql :

Code : Tout sélectionner

 sudo su ; su postgres ; psql 
Sélectionner la base :

Code : Tout sélectionner

 \c OpenConcerto 
Injecter la base :

Code : Tout sélectionner

 \i dump.sql 
(dump.sql étant le fichier que vous avez généré via la commande de Xantof.)

Quitter la console :

Code : Tout sélectionner

 \q 
C'est fini.

N'oubliez pas de rapatrier le dossier openconcerto contenant vos factures et le dossier caché .openconcerto contenant le fichier main.properties.
Vérifiez via l'outil de configuration que la connection à la base fonctionne.

Ca a marché pour moi sans message d'erreur !

@ Guillaume : Je ne comprends pas bien la fonction de sauvegarde... Est il prévu qu'elle soit exploitée par une fonction de restauration ?
zuiko
Messages : 29
Enregistré le : mar. mai 22, 2012 4:23 pm

jeu. juil. 19, 2012 10:09 pm

Bonjour,

je vous propose ma modeste contribution pour le volet Windows de ce fil car je l'ai pratiqué avec succès récemment.
Merci aux précédents contributeurs qui ont ouvert la voie.

L'objectif est ici de basculer un OpenConcerto multiposte fonctionnel sur un PC ancien à un PC plus récent les deux sous Windows (en l’occurrence XP vers Seven mais les versions importent peu).
Sauvegarde sur le PC de départ :
Créez un répertoire temporaire qui vous servira à récupérer votre sauvegarde
par exemple c:\tmp
Lancer la console Windows (en tapant cmd dans la zone de recherche ou d'exécution de Windows suivant la version, il faut au final avoir lancé cmd.exe)
A l'invite, s'arranger pour revenir à la racine de c:
à coup de
cd ..
Puis se positionner dans le répertoire bin de PostgreSQL via la commande
cd Program Files\PostgreSQL\8.4\Bin
Si cela ne fonctionne pas assurez-vous de l'existence des répertoires par la commande dir
en effet en fonction de la version de Windows ou du type de pc on peut très bien avoir un chemin comme celui-ci
cd Program Files (x86)\PostgreSQL\8.4\Bin
Lancer ensuite

Code : Tout sélectionner

pg_dump -O -x -Fc -h 127.0.0.1 -U openconcerto -f c:\tmp\Openconcerto-dump.sql OpenConcerto
Dans cet ordre car la commande telle que formatée pour Unix lue plus haut ne fonctionne pas sous Windows telle quelle.
Vous pouvez faire un copier ici puis un coller dans votre console d'un clic droit.
Le programme vous demande aussitôt le mot de passe, qui en installation standard devrait être openconcerto
Laisser la commande se dérouler et vérifier que vous avez bien ensuite un fichier c:\tmp\Openconcerto-dump.sql
C'est terminé pour la base de donnée

En ce qui concerne les fichiers, je conseillerais de sauvegarder (sur un disque externe ou une clé usb par exemple)
- tout le répertoire
c:/users/MOI-MEME/.OpenConcerto
et le répertoire
c:/users/MOI-MEME/Mes Documents/OpenConcerto/MA SOCIETE-48 (par exemple)
sauf le répertoire sauvegardes qui ne servira à rien dans notre cas.
On peut passer par une compression sous 7-zip si Windows refuse certaines copies (cela arrive).
Je pars du principe que vos modèles sont également dan ce répertoire, si ce n'est pas le cas il vous faudra aller les chercher...
Copier le fichier Openconcerto-dump.sql sur la clé usb
C'est terminé pour les fichiers.
Nota : les mots en majuscule sont à adapter à votre environnement...

Restitution sur le PC d'arrivée :
On part du principe qu'on a installé PostgreSQL et OpenConcerto multiposte de la même version sur son nouveau PC (suivre les instructions adéquates du forum)
Créez un répertoire temporaire qui vous servira à lire votre sauvegarde
par exemple c:\tmp et y copier Openconcerto-dump.sql depuis la clé usb
On ouvre une console Windows et on se positionne comme décrit ci-dessus dans
c:\Program Files\PostgreSQL\8.4\Bin (ou équivalent)
On lance :

Code : Tout sélectionner

pg_restore -O -x -h 127.0.0.1 -d OpenConcerto c:\tmp\Openconcerto-dump.sql  -U openconcerto
Et là, il y a de fortes chances que cela ne fonctionne pas...
Car Windows tente de se connecter à la base avec comme nom votre nom d'user Windows (par exemple MOI-MEME)

Heureusement, il y a un palliatif : lancer pgadmin.exe via son icone ou en allant dans son répertoire.
clic droit sur la base openconcerto / restaurer et aller chercher le fichier Openconcerto-dump.sql (afficher tous les fichiers pour pouvoir le voir car pgadmin par défaut cherche un fichier .backup
patienter et bien vérifier que la restitution s’est bien déroulée.

Restituer ensuite les fichiers dans les répertoires homologues de la nouvelle installation y compris en écrasant les anciens fichiers.
Ne pas oublier vos modèles.

La restitution est terminée

Vous pouvez désormais lancer
"C:\Program Files\OpenConcerto\OpenConcerto-Configuration.exe"
pour vérifier la connexion à la base et, éventuellement, re-paramétrer les caisses.

Lancer ensuite OpenConcerto et sa caisse sur le nouveau PC, cela devrait fonctionner.

Bonne chance !
antesoft
Messages : 8
Enregistré le : jeu. août 09, 2012 1:39 pm

mer. sept. 12, 2012 12:57 pm

Bonjour,

Très bonne explication, merci.
Je me demande du coup à quoi sert la sauvegarde disponible dans le menu fichier ainsi que la sauvegarde en quittant le logiciel ?

Merci.
Avatar du membre
guillaume
Messages : 2433
Enregistré le : ven. févr. 11, 2011 7:15 pm

jeu. sept. 13, 2012 8:51 pm

Bonsoir,

Ils servent à faire une ... sauvegarde :)
Cette fonctionnalité est intégrée dans le logiciel.

Cordialement,
Directeur technique d'OpenConcerto qui dans son temps libre s'occupe du forum.
Pour une assistance pro, nous sommes joignables à ILM Informatique contre quelques jetons.
Pensez aussi à lire le manuel !
antesoft
Messages : 8
Enregistré le : jeu. août 09, 2012 1:39 pm

dim. sept. 30, 2012 1:07 pm

Bonjour Guillaume,

Je ne me suis pas très bien exprimé : je me demandais quel était l'intérêt de faire une sauvegarde si cette sauvegarde n'est pas injectable dans le logiciel ensuite (enfin il me semble, dites moi si je me trompe).
Avatar du membre
guillaume
Messages : 2433
Enregistré le : ven. févr. 11, 2011 7:15 pm

mar. oct. 02, 2012 12:12 pm

Bonjour,

La sauvegarde intégrée est destinée a vous sauver la vie si tout va mal, à utiliser en cas de dernier recours!

Cordialement,
Directeur technique d'OpenConcerto qui dans son temps libre s'occupe du forum.
Pour une assistance pro, nous sommes joignables à ILM Informatique contre quelques jetons.
Pensez aussi à lire le manuel !
antesoft
Messages : 8
Enregistré le : jeu. août 09, 2012 1:39 pm

mar. oct. 02, 2012 12:14 pm

Très bien,

Merci Guillaume.
teruhi
Messages : 9
Enregistré le : mer. janv. 02, 2013 10:13 am

mer. janv. 02, 2013 5:45 pm

Bonjour et bonne année ! :D
Pour moi elle commence bien :roll:

Quelqu'un pourrait-il me dire où taper tout ce code ?
Faut-il laisser le # et les espaces ?

J'ai essayé dans la console de windows, et comme je m'y attendais ça ne fonctionne pas. :lol:
Mais pourquoi ai-je donc essayez alors ?
Bin... J'ai essayé avec le Shell de pgsql et ça n'a pas l'air de fonctionner...

En fait, je n'y connais absolument rien en shell... :oops:
D'ailleurs je ne sais même pas si je me suis identifié correctement:
J'ai juste appuyé sur entré, sans rien saisir, sauf "openconcerto"pour le login, et "openconcerto"pour le mdp.


Bref, comme je l'ai expliqué sur cette page, je n'arrive même pas à lancer open concerto.
J'ai pourtant pgsql, jcdb:pgsql, java et open concerto d'installé.

Pourtant ce que je souhaite faire est très simple :
utiliser open concerto.

Je n'imaginais pas que ce serait aussi difficile... :|
Si ce logiciel n'est fait que pour les informaticiens de haut niveau, il faut peut-être que j'abandonne, non ?
Répondre