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

#1 23/05/2014 12:10:04

[pg_dump] Sauvegarde d'une table

Bonjour,


Je cherche à créer un fichier BATCH pour sauvegarder de temps à autre une table afin de tester des modifications dessus, et pouvoir la restaurer si besoin. Je galère avec les lignes de commande mais je pense approcher du but. Quelqu'un peut-il me donner son avis sur le script suivant :


"C:\Program Files\PostgreSQL\9.2\bin\pg_dump.exe" --host localhost --port 5432 --username postgres --format plain --ignore-version --verbose --file "C:\Users\UserName\Desktop\filename.backup" --table schema.table db_thomas

Bien sûr, je remplace UserName par le nom de mon répertoire et schema / table correspondent à un schéma et une table qui existent. J'exécute le fichier *.bat et la fenêtre Cmd me demande un mot de passe. Je ne peux pas taper de texte dans cette fenêtre donc je ne peux pas renseigner mon mot de passe... J'ai essayé de passer l'option --password dans ma ligne de commandes mais pg_dump me renvoie un message d'erreur "Trop d'arguments en ligne de commande". Je tourne un peu en rond...


Merci pour votre aide !


Thomas

Hors ligne

#2 23/05/2014 14:29:26

gleu
Administrateur

Re : [pg_dump] Sauvegarde d'une table

Pourquoi vous ne pouvez pas saisir votre mot de passe ?


Guillaume.

Hors ligne

#3 23/05/2014 14:31:55

Re : [pg_dump] Sauvegarde d'une table

Je ne peux rien taper dans la fenêtre cmd quand il me demande un mot de passe... Aucun caractère du clavier ne s'affiche à l'écran.

Hors ligne

#4 23/05/2014 14:39:08

ruizsebastien
Membre

Re : [pg_dump] Sauvegarde d'une table

Bonjour,

Il faut créer et renseigner le fichier pgpass.
http://www.postgresql.org/docs/9.1/stat … gpass.html

ensuite il faut utiliser l'option -w dans pg_dump :
-w
--no-password

    Never issue a password prompt. If the server requires password authentication and a password is not available by other means such as a .pgpass file, the connection attempt will fail. This option can be useful in batch jobs and scripts where no user is present to enter a password.


Cordialement,


Cordialement,

Sébastien.

Hors ligne

#5 23/05/2014 15:02:00

gleu
Administrateur

Re : [pg_dump] Sauvegarde d'une table

Le -w n'est pas obligatoire.


Guillaume.

Hors ligne

#6 23/05/2014 15:53:08

Re : [pg_dump] Sauvegarde d'une table

Après creusage du sujet, voici mes scripts fonctionnels :



1. Dump d'une table :

"C:\Program Files\PostgreSQL\9.2\bin\pg_dump.exe" -h localhost -p 5432 -U postgres -v -f D:\test.sql -t schema.table database


2. Restauration de la table :

"C:\Program Files\PostgreSQL\9.2\bin\psql.exe" -h localhost -p 5432 -U postgres -d database -f D:\test.sql


J'ai solutionné le problème du password en configurant une nouvelle variable d'environnement PGPASSWORD (Panneau de configuration > Système > Paramètres système avancés > Variables d'environnement > Nouvelle).


Merci pour votre aide !


Thomas

Hors ligne

#7 23/05/2014 17:31:32

gleu
Administrateur

Re : [pg_dump] Sauvegarde d'une table

Le fait qu'aucun caractère ne s'affiche est normal. C'est pour ne donner aucune information sur le mot de passe : le mot de passe lui-même ou sa longueur.


Guillaume.

Hors ligne

Pied de page des forums