Bonjour,

J'ai un pb d'accés à Postgresql via le réseau. Le contexte est le suivant :

sur un serveur Linux Ubuntu, j'ai un serveur postgresql 8.4 avec une table nommée 'testpersonne'. Cette machine est accessible depuis notre réseau local mais possède également une adresse IP fixe : 78.227.216.xxx

sur mon poste de travail sous Windows XP, j'ai développé une application basée sur une servlet tournant sur un Tomcat fonctionnant en local sur mon ordi. Par contre, j'accède à la base de données hébergée par le serveur Linux.

Pour cela, j'utilise un driver JDBC et la ligne suivante JAVA :
jdbc:postgresql://78.227.216.xxx:5432/testpersonne

Tout fonctionne parfaitement!

De plus, depuis mon poste XP, je peux me connecter à cette BDD soit depuis pgAdminIII, soit depuis phppgadmin se trouvant sur la même machine que postgresql.

Maintenant je mets ma servlet sur le serveur Tomcat se trouvant lui aussi sur la même machine Linux que le serveur postgresql et ça ne marche plus. J'ai le message suivant :

Connexion refusée. Vérifiez que le nom de machine et le port sont corrects et que postmaster accepte les connexions TCP/IP.

Après quelques recherches sur Internet, j'ai trouvé quelques pistes sur des modifications de paramétrage à faire mais ça ne marche toujours pas. Voici les modifs faites :

fichier postgresql.conf :
listen_addresses = '*'
port = 5432

fichier pg_hda.conf :
local all postgres md5
host all all 78.227.216.xxx/32 trust
host all all 0.0.0.0/0 trust
# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5

J'ai fait le test suivant :
sudo netstat -tlp | grep postgres
tcp 0 0 *:postgresql *:* LISTEN 27181/postgres
tcp6 0 0 [::]:postgresql [::]:* LISTEN 27181/postgres

Et celui-ci :
sudo psql -h 78.227.216.xxx-d testpersonne
psql: could not connect to server: Connection timed out
Is the server running on host "78.227.216.155" and accepting
TCP/IP connections on port 5432?

En résumé : le Tomcat de mo ordi XP peut faire une connexion sur postgresql se trouvant sur une autre machine alors que le Tomcat se trouvant sur la même machine que PostgreSQL n'y arrive pas. Etrange non?

Merci d'avance,

Philippe