2010-10-01 2 views
7

J'essaie d'activer root (Ubuntu 8.04) pour utiliser la commande psql sans invite de mot de passe (à des fins de script). Tout a bien fonctionné avec PostGreSQL 8.3, mais je migre vers PostGreSQL 8.4 et la connexion sans mot de passe ne fonctionne plus.PostGreSQL sans mot de passe prompt: .pgpass ignoré

J'ai un fichier .pgpass correct (le même que celui utilisé pour 8.3), le droit de /root/.pgpass est 0600 mais l'appel de psql demande toujours un mot de passe. NB: la variable PGPASSFILE est vide, donc je suppose que le fichier .pgpass est supposé être utilisé.

Une idée brillante?

Merci

+0

"strace -o psql ...", puis recherchez dans le fichier journal ".pgpass". –

+0

Voici les lignes contenant .pgpass dans le fichier journal stat ("/ root/.pgpass", {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 open ("/ root/.pgpass" , O_RDONLY) = 3 stat ("/ root/.pgpass", {st_mode = S_IFREG | 0600, st_size = 37, ...}) = 0 ouvert ("/ root/.pgpass", O_RDONLY) = 3 – AsTeR

+0

J'ai aussi une ligne montrant que pgsql a trouvé le mot de passe: read (3, "localhost: 5432: nomdb: usrname: passw" ..., 4096) = 37 – AsTeR

Répondre

11

Essayez de vérifier si cela fonctionne:

*:*:*:postgres:password_for_postgres_user 

Et puis essayez:

VERBOSITY=verbose psql --no-password --user postgres 

Cette question devrait probablement être migré vers serverfault.com.

+0

Vous avez raison, c'est plutôt un problème d'administration de serveur. Le problème était que le serveur était installé juste après le postgres 8.3 et que l'installation le faisait donc fonctionner sur le port 5433 au lieu de 5432. Je l'ai corrigé en éditant postgres.conf. Merci ! – AsTeR

Questions connexes