Vous n'êtes pas identifié(e).
Pages : 1
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
Pourquoi vous ne pouvez pas saisir votre mot de passe ?
Guillaume.
Hors ligne
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
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
Le -w n'est pas obligatoire.
Guillaume.
Hors ligne
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
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
Pages : 1