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

#1 21/08/2011 10:57:39

NOURI
Membre

pg_dump & password

Bonjour à tous,

Je voudrais faire un dump pour une base pg (9.0) via une application clientèle.
Avec mon appli je lance la commande pg_dump ... oup l'invite DOS demande le password de la base pour faire le dump ...
Y-a-t'il un moyen pour passer le password en paramètre pour la commande pg_dump ?
si non y-a-t'il d'autre solutions ?

Cordialement.
A+


Cordiales Salutations

Hors ligne

#2 21/08/2011 15:08:14

daamien
damien clochard

Re : pg_dump & password

Inscrire le mot de passe en clair dans un script ou une ligne de commande est une mauvaise idée. C'est pour cela que ce n'est pas possible avec pg_dump

La solution consiste à définir un fichier pgpass qui contiendra ce mot de passe. pgdump utilisera ce fichier pour s'authentifier :

La doc est là :
http://docs.postgresqlfr.org/9.1/libpq-pgpass.html

Hors ligne

#3 22/08/2011 11:07:25

NOURI
Membre

Re : pg_dump & password

Bonjour,

Merci pour votre réponse !
j'ai réussi à dumper la base de données avec l'utilisation de pgpass.conf, mais c'est pas TOP en sécurité, comme ça n’importe qui peu accéder à  C:\Documents and Settings\USER\Application Data\postgresql et regarde le password depuis le pgpass.conf.

Merci.


Cordiales Salutations

Hors ligne

#4 22/08/2011 11:29:49

gleu
Administrateur

Re : pg_dump & password

Normalement, seul l'utilisateur postgres a accès à ce fichier. Et si ce n'est pas le cas, à vous de faire en sorte que cela le soit (onglet Sécurité des propriétés du fichier, si je me rappelle bien). C'est d'ailleurs pour ça qu'on fait un "chmod 600" du fichier sous Unix... pour empêcher que les autres puissent lire ou modifier ce fichier. Et pg_dump vérifie que ce fichier est bien en 600 sous Linux et si ce n'est pas le cas, il refuse de l'utiliser. Par contre, je ne sais pas si cette protection est présente pour Windows.


Guillaume.

Hors ligne

#5 22/08/2011 11:54:23

NOURI
Membre

Re : pg_dump & password

Merci gleu,

Voila ,

J'ai une application (exécutable et leur runtime bien sur des DLL ...), dans le même dossier de mon exe j'ai ajouté le pg_dump.exe et libpq.dll, gssapi32.dll, ...
l'appli est disponible en réseaux usine, chaque personne peut lancer l'exécutable, et logger avec leur compte.
pour le dump, l'utilisateur doit mettre le chemin de sauvegarde puis clique sur valider c'est tout, la solution que j'ai trouvé actuellement c'est de créer le dossier  C:\Documents and Settings\USER\Application Data\postgresql et le fichier pgpass.conf d'une manière software et j'ajoute par la suite la ligne ip:5432:*:user:pass dans le pgpass.conf et après sauvegarde je supprime le fichier.

Que pensez-vous pour cette solution ?, avez-vous d'autre idée ?

Merci d'avance.


Cordiales Salutations

Hors ligne

#6 22/08/2011 11:56:41

gleu
Administrateur

Re : pg_dump & password

C'est une bonne solution: création du fichier, pg_dump, suppression du fichier.


Guillaume.

Hors ligne

#7 22/08/2011 12:10:56

NOURI
Membre

Re : pg_dump & password

Merci wink


Cordiales Salutations

Hors ligne

Pied de page des forums