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

#1 28/09/2010 06:14:25

geo
Membre

Execution script SQL sur configuration MD5

Bonjour,
J'utilise actuellement la commande psql pour exécuter des commandes via un shell (exemple : /usr/local/pgsql/bin/psql -h 192.168.33.2 -U postgres -p 5432 -d ma_base -f '/home/sql/init.sql')
Cela fonctionne très bien, sauf que pour des raisons de sécurité, nous sommes passé d'une authentification 'trust' à une authentification 'md5' et que nous devons maintenant utiliser un compte spécifique autre que postgres avec un mot de passe.
Ma commande ne fonctionne donc plus puisque je ne peux pas spécifier de mot de passe dans les options. Au mieux, je peux mettre l'option -W pour avoir le prompt, mais ça ne m'intéresse pas car le shell s'exécute la nuit sans intervention.

Comment pourrais-je faire pour continuer à exécuter mes scripts dans cet environnement ?

Merci d'avance de votre aide.

Hors ligne

#2 28/09/2010 08:51:39

Marc Cousin
Membre

Re : Execution script SQL sur configuration MD5

Vous avez deux solutions :
- Soit vous renseignez une variable d'environnement PGPASSWORD : http://docs.postgresqlfr.org/9.0/libpq-envars.html
- Soit vous renseignez un fichier 'pgpass' : http://docs.postgresqlfr.org/9.0/libpq-pgpass.html

Renseigner le mot de passe sur la ligne de commande est interdit pour des raisons de sécurité : si vous pouviez le faire, n'importe quel utilisateur, sur un système unix, pourrait récupérer votre mot de passe de votre ligne de commande, via ps -ef par exemple.


Marc.

Hors ligne

#3 28/09/2010 10:16:53

geo
Membre

Re : Execution script SQL sur configuration MD5

Merci beaucoup pour cette réponse rapide et très claire.
Je pense que la seconde solution devrait convenir.

Hors ligne

Pied de page des forums