J'ai une base de données PostgreSQL opérationnelle. Maintenant, je voudrais automatiser certaines opérations sur ma base de données mais j'ai un problème avec le mot de passe.
J'utilise le script bash suivant:
#!/bin/bash
export PGPASSWORD="postgres"
sudo -u postgres psql -d pg_ldap -w --no-password -h localhost -p 5432 -t -c "SELECT id FROM radusers WHERE id=1"
Lorsque j'exécute le script bash, j'obtiens l'erreur suivante:
psql: fe_sendauth: no password supplied
J'ai même essayé de configurer le fichier .pgpass dans mon répertoire personnel mais en vain:
*:*:*:postgres:postgres
J'ai exécuté la commande suivante:
sudo chmod 0600 .pgpass
Néanmoins, il ne semble pas que l'une des méthodes fonctionne. Est-ce que quelqu'un a une idée? Suis-je en train d'oublier de faire quelque chose?
.pgpass
est dans votre répertoire personnel? Pas dans celui de l' postgres
utilisateur?
sudo su -c psql postgres psql ...
plutôt.