Vous n'êtes pas identifié(e).
Pages : 1
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
pg_dump et pg_restore ne s'exécutent pas à partir de psql. Ils s'exécutent à partir du shell.
Guillaume.
Hors ligne
j'ai essayé aussi
je ne retrouve pas les fichiers de sortie
Hors ligne
en définitive merci je viens d'obtenir des fichiers de sortie.
Hors ligne
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
OK
Guillaume.
Hors ligne
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
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
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
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 .
Julien.
https://rjuju.github.io/
Hors ligne
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
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
Pages : 1