PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 25/08/2011 02:39:30

isoman
Membre

demande de mot de passe par psql

Salut,
j'ai crée un installeur avec inno setup a partir duquel je lance l'installeur de postgresql 9  mais je rencontre un problème.
Je lance la commande psql.exe -U nom_user et psql me demande a saisir le mot de passe ce qui "casse" mon script d'installation car j'aimerais que le mot de passe soit passé automatiquement , chose que je n'arrive pas faire avec inno setup .
Est ce qu'il y a un moyen de passer le mot de passe comme option a psql en une seule étape(une commande du genre psql -U nom_user -pass mdp") ?

Voici mon appel inno setup au cas ou qlqn sait comment résoudre ça a partir du script d'installation.

Filename: "{app}\PostgreSQL\bin\psql.exe"; Parameters: "-W postgres";
Merci d'avance .

Hors ligne

#2 25/08/2011 08:10:52

gleu
Administrateur

Re : demande de mot de passe par psql

Deux possibilités

* sécurisé

Vous créez un fichier pgpass.conf (comme indiqué dans la documentation http://docs.postgresql.fr/9.0/libpq-pgpass.html), vous appelez psql. Après, vous pouvez le supprimer si nécessaire.

* non sécurisé

Vous passez un DSN à la place du nom de la base à psql. Quelque chose du genre : psql "dbname=postgres user=toto password=zepass". Non sécurisé car n'importe quel personne qui regarde la liste des processus au même moment verra le mot de passe en clair.


Guillaume.

Hors ligne

#3 25/08/2011 15:22:47

isoman
Membre

Re : demande de mot de passe par psql

J'ai essayé de mettre le fichier pgpass.conf dans le dossier Appdata/Roaming/postgresql mais ça marche pas , quand je me connecte avec psql -U postgres il me demande toujours le mot de passe .
Cependant j 'ai remarqué un truc curieux , quand je mémorise le mot de passe avec pgadmin le fichier pgpass.conf est crée dans le même répertoire que j'ai déjà utilisé et quand je lance psql il me demande plus le mot de passe .
Je pense pgadmin modifie quelque chose dans la configuration mais laquelle ?
Pour la deuxième solution est ce que j'appelle psql avec en passant la chaine en parametre ? Je m'excuse mais j'ai pas bien compris l'approche .

Hors ligne

#4 25/08/2011 15:23:59

gleu
Administrateur

Re : demande de mot de passe par psql

Oui, la chaîne doit être passée en paramètre.


Guillaume.

Hors ligne

#5 30/08/2011 22:58:53

rjuju
Administrateur

Re : demande de mot de passe par psql

Si le serveur est spécifié par un dns, je crois que le fichier pgpass est sensible à la casse donc cela peut provenir de la.

Sinon il est également possible de spécifier la connexion en "trust" dans le pg_hba.conf si vous avez accès au serveur, et le mot de passe ne devrait plus être demandé. Mais ce n'est pas forcément la meilleure solution, en cas de distribution pour des clients par exemple.

Hors ligne

Pied de page des forums