Vous n'êtes pas identifié(e).
Pages : 1
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
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
Merci beaucoup pour cette réponse rapide et très claire.
Je pense que la seconde solution devrait convenir.
Hors ligne
Pages : 1