Vous n'êtes pas identifié(e).

#1 01/11/2011 22:42:36

philippen
Membre

pg_dump et restore pour beotien

bonsoir,
je voudrais sauvegarder ma base de données et la restaurer sur une autre machine.
pour l'instant je galère pour obtenir une sortie pg_dump

voici, pas à pas ce que j'ai fait à partir des tutoriels lus ici et là.
(sous ubuntu)
sudo -s -u postgres
psql
puis ces différentes commandes
pg_dump mabase > mabase
pg_dump mabase > /home/mon_compte_utilisateur/mabase

aucune sortie

j'ai aussi essayé
pg_dump -i -h 127.0.0.1 -p 5432 -U postgres -F p -v -f "/home/philippe/savebasesql.bak" "basesql";
réponse syntax error at or near "pg_dump"

merci (et peut-être à bientôt pour pg_restore.

Hors ligne

#2 01/11/2011 23:19:12

gleu
Administrateur

Re : pg_dump et restore pour beotien

pg_dump et pg_restore ne s'exécutent pas à partir de psql. Ils s'exécutent à partir du shell.


Guillaume.

Hors ligne

#3 01/11/2011 23:32:57

philippen
Membre

Re : pg_dump et restore pour beotien

j'ai essayé aussi
je ne retrouve pas les fichiers de sortie

Hors ligne

#4 01/11/2011 23:43:26

philippen
Membre

Re : pg_dump et restore pour beotien

en définitive merci je viens d'obtenir des fichiers de sortie.

Hors ligne

#5 01/11/2011 23:43:54

gleu
Administrateur

Re : pg_dump et restore pour beotien

Quelle commande avez-vous lancé ? parce que les trois au-dessus sont bonnes (en dehors de l'option -i qu'il est préférable de ne pas utiliser). Pas de messages d'erreur ?


Guillaume.

Hors ligne

#6 01/11/2011 23:44:08

gleu
Administrateur

Re : pg_dump et restore pour beotien

OK


Guillaume.

Hors ligne

#7 02/11/2011 22:13:48

philippen
Membre

Re : pg_dump et restore pour beotien

celle-ci
pg_dump -i -h 127.0.0.1 -p 5432 -U mon_compte_utilisateur_créé_à-l'installation_postgresql_voir_site_ubuntu -F p -v -f "/home/utilisateur/savelefichier.bak" "la_base_a_sauver";
pas de message d'erreurs

comme vous pouvez le voir une de mes erreurs a été d'indiquer le compte superutilisateur postgres au lieu du compte utilisateur-avec-droits-de-création-de-BDD créé lors de l'installation de postgresl.

au lancement de la commande ci-dessus on vous demande ensuite votre mot de passe : il s'agit de celui du compte  utilisateur-avec-droits-de-création-de-BDD créé lors de l'installation de postgresl.

si ceci peut servir à un autre béotien en mal d'info
-p 5432 c'est le port par défaut d'écoute de postgresql
-U  mon_compte_utilisateur-avec-droits-de-création-de-BDD créé lors de l'installation de postgresl : fait l'appel du mot de passe qui vous est demandé ensuite
-F p exporte au format texte simple tandis que -F c exporte dans un mode compressé
-v mode verbeux : tout ce qui se passe au moment de l'export apparait dans votre terminal
-f permet d'indiquer le dossier de destination de l'export

Hors ligne

#8 02/11/2011 23:42:28

rjuju
Administrateur

Re : pg_dump et restore pour beotien

Juste un petit détail : je vous recommande d'éviter l'utilisation de l'option -f et d'utiliser plutôt la redirection de la sortie standard (pgdump > /home/.../fic), car lors du pg_restore, l'option -f n'a pas du tout la même signification et peut porter à confusion.

Hors ligne

#9 03/11/2011 21:44:07

philippen
Membre

Re : pg_dump et restore pour beotien

pg_dump mabase > sauve_ma_base
ou
pg_dump mabase > chemin_du_fichier_de_sauvegarde/sauve_ma_base
que ce soit sous mon compte utilisateur ou en superutilisateur du système la réponse est la meme : utilisateur, en l'occurence philippe ou root, inconnu.
si j'ai compris, cela est normal puisque mon compte utilisateur de postgresql ne porte pas le même nom que le compte utilisateur du système.

Hors ligne

#10 03/11/2011 21:46:26

philippen
Membre

Re : pg_dump et restore pour beotien

pg-restore le_fichier_de_la_base_sauvegardée
la sortie de la commande indique que tout s'est bien passé
mais aucune table ni aucune base ne se créé.
bref
pg_restore rien du tout.

Hors ligne

#11 03/11/2011 22:20:14

rjuju
Administrateur

Re : pg_dump et restore pour beotien

il faut dans tous les cas spécifier les informations d'utilisateur (U) à moins de lancer la commande depuis votre utilisateur système postgres.
De même, il faut spécifier les information de connexion (-h, -p etc) à moins qu'elles ne soient en variable d'environnement .

Hors ligne

#12 03/11/2011 22:38:02

philippen
Membre

Re : pg_dump et restore pour beotien

le simple fait d'enlever - f produit ceci
pg_dump -h 127.0.0.1 -p 5432 -U basesql -F p -v  "/home/philippe/savebasesql" "basesql";
pg_dump: too many command-line arguments (first is "basesql")
Try "pg_dump --help" for more information.
-1- j'enlève un argument et on répond qu'il y en a trop alors qu'auparavant cela ne semblait pas un problème
-2- la lecture pg_dump --help ne me fournit pas d'explication compréhensible.

Hors ligne

#13 03/11/2011 22:57:29

gleu
Administrateur

Re : pg_dump et restore pour beotien

En ce qui concerne pg_dump, si vous enlevez l'option -f, vous devez le faire entièrement, c'est-à-dire en enlevant aussi le nom du fichier.

Concernant pg_restore, vous devez indiquer l'option -d et le nom de la base dans laquelle vous voulez la restaurer. Tout ceci est d'ailleurs indiqué dans la doc : http://docs.postgresql.fr/9.1/app-pgrestore.html


Guillaume.

Hors ligne

Pied de page des forums