414 votes

PostgreSQL : Scripting psql exécution avec mot de passe

Comment puis-je appeler psql alors qu’il n’est pas demander un mot de passe?

C’est ce que j’ai :

Cependant, je ne pouvais pas trouver l’argument qui passe le mot de passe, et donc psql invite toujours au faire.

P.S. : J’utilise PostgreSQL 9.0

532voto

Reece Points 1305

Il y a plusieurs façons de s'authentifier sur postgresql. Vous pouvez examiner des solutions de rechange à l'authentification par mot de passe à http://www.postgresql.org/docs/current/static/client-authentication.html.

Pour répondre à votre question, il existe quelques façons de fournir un mot de passe pour l'authentification par mot de passe. Le moyen le plus évident est via l'invite de mot de passe. Au lieu de cela, vous pouvez fournir le mot de passe dans un pgpass fichier ou par le biais de la PGPASSWORD variable d'environnement. Voir ces:

http://www.postgresql.org/docs/9.0/static/libpq-pgpass.html http://www.postgresql.org/docs/9.0/interactive/libpq-envars.html

Il n'y a pas d'option pour fournir le mot de passe comme d'un argument de ligne de commande parce que l'information est souvent disponible pour tous les utilisateurs, et donc de l'insécurité. Cependant, dans des environnements Linux/Unix, vous pouvez fournir une variable d'environnement pour une seule commande comme ceci:

PGPASSWORD=yourpass psql ...

199voto

Greg Points 1057
PGPASSWORD=[your password] psql -Umyuser < myscript.sql

83voto

jbaylina Points 1241

Vous pouvez ajouter cette ligne de commande au début de votre script :

13voto

Femi Points 42054

Vous devez créer un fichier de mot de passe: voir http://www.postgresql.org/docs/9.0/interactive/libpq-pgpass.html pour plus d'informations.

2voto

A Question Asker Points 1067

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X