La partie significative est:
<<server.key>> : Permission non accord?e ... failed !
Quand SSL est activé sur le serveur, ce qui est le cas par défaut sur debian, il faut un certificat et une clef.
Ils se trouvent dans le répertoire /var/lib/postgresql/8.4/main sous la forme de liens symboliques:
# cd /var/lib/postgresql/8.4/main/
# ls -l server.*
lrwxrwxrwx 1 root root 36 2011-03-24 23:16 server.crt -> /etc/ssl/certs/ssl-cert-snakeoil.pem
lrwxrwxrwx 1 root root 38 2011-03-24 23:16 server.key -> /etc/ssl/private/ssl-cert-snakeoil.key
La clef privée a des droits bien spécifiques:
# ls -l /etc/ssl/private/
total 4
-rw-r----- 1 root ssl-cert 887 2008-09-27 03:56 ssl-cert-snakeoil.key
et il se trouve que l'utilisateur postgres appartient au groupe ssl-cert ce qui lui permet de lire ce fichier.
1 2
| # id -a postgres
uid=114(postgres) gid=124(postgres) groups=124(postgres),108(ssl-cert) |
Dans ton cas, le message d'erreur indique que quelque chose est incorrect dans cet ensemble. Il faudrait vérifier point par point et que ce soit tel que ci-dessus.
Eventuellement consulter aussi le fichier de log /var/log/postgresql/postgresql-8.4-main.log pour avoir des messages d'erreur détaillés du serveur postgres.
Si tu n'as pas besoin de SSL, il peut aussi être désactivé avec ssl=off dans le fichier postgresql.conf
Partager