IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Installation PostgreSQL Discussion :

Problème accès externe base postgresql


Sujet :

Installation PostgreSQL

  1. #1
    Membre habitué Avatar de M.Max
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 90
    Points : 127
    Points
    127
    Par défaut Problème accès externe base postgresql
    Bonjour à tous,

    Je viens d'installer postgresql sur une VM pour faire tourner un service, j'ai suivi le tuto de ubuntu-fr (http://doc.ubuntu-fr.org/postgresql) pour l'installer et tout s'est correctement déroulé.
    J'ai ensuite installer pgadmin III pour pouvoir l'administrer facilement.
    Jusque là aucune problème.

    Aujourd'hui j'ai voulu tester les connexions non locale car il n'y a que la BDD sur la VM, et elle doit être accessible de chez moi pour le dev et d'une autre VM qui héberge une appli web.

    J'ai donc modifié la valeur de listen_adress de 'localhost' à '*' pour autoriser les connexions TCP/IP dans le fichier postgresql.conf puis j'ai ajouté "host all all 0.0.0.0/0 trust" dans le fichier pg_hba.conf pour autoriser toutes les connexions à toutes les bases (rassurez-vous c'est juste pour les tests).

    Mais lorsque je teste la connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    psql -h IPDUSERVEUR -d NOMDELABDD
    ça me répond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    psql: could not connect to server: Connection refused
            Is the server running on host "IPDUSERVEUR" and accepting
            TCP/IP connections on port 5432?
    Cela fait des heures que je tourne sur google pour trouver un semblant de réponse mais rien à faire.
    Auriez-vous déja rencontré ce type de problème ? Ou un piste à donner pour le résoudre ?

    Merci à tous !

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Est-ce que le serveur postgresql a bien été relancé après modification de postgresql.conf? Sinon, le faire

    Exécuter la commande netstat -lt sur le serveur pour vérifier que ça écoute bien sur le port TCP 5432. Le résultat doit inclure des lignes du genre:
    tcp 0 0 *:postgresql *:* LISTEN
    tcp6 0 0 [::]:postgresql [::]:* LISTEN
    Le mot postgresql peut être remplacé par 5432 selon le système (en fait selon le contenu du fichier /etc/services)

    S'il y a bien un serveur qui écoute, alors l'étape suivante est de chercher si un firewall ne bloque pas entre le client et le serveur.

  3. #3
    Membre habitué Avatar de M.Max
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 90
    Points : 127
    Points
    127
    Par défaut
    Tout d'abord merci pour cette réponse rapide.

    J'ai bien relancé le serveur a chaque modif pour être sur qu'elles étaient bien prises en compte.

    Un netstat -lt renvoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 *:netbios-ssn           *:*                     LISTEN
    tcp        0      0 *:sunrpc                *:*                     LISTEN
    tcp        0      0 localhost.loca:krb_prop *:*                     LISTEN
    tcp        0      0 localhost.locald:domain *:*                     LISTEN
    tcp        0      0 *:ssh                   *:*                     LISTEN
    tcp        0      0 localhost.lo:postgresql *:*                     LISTEN
    tcp        0      0 localhost.localdoma:953 *:*                     LISTEN
    tcp        0      0 *:microsoft-ds          *:*                     LISTEN
    Pour ce qui est du firewall, j'ai vérifié que le mien (sur mon PC Windows) ne bloquait pas 5432. La VM tourne sous une Debian Lenny et je n'ai jamais touché à iptable, et il me semble que par defaut il n'y a aucune règle ?

    En fouillant je suis tombé sur quelque chose qui peut être interessant mais que je ne sais pas interpréter : lorsque je scan les ports sur le serveur en lui demandant de scanner 'localhost', il me retourne que 5432 est bel et bien ouvert. Par contre quand je lui demande de scanner son IP, il ne scanne pas 5432 (enfin il ne l'affiche pas comme ouvert)...

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Le résultat de netstat -lt semble indiquer que le serveur postgresql écoute sur localhost et pas sur l'interface générique, sinon il y aurait *:postgresql dans la 3eme colonne, comme c'est le cas pour le service ssh ou netbios-ssn

    Ca voudrait dire que le paramètre listen_addresses='*' n'est pas pris en compte.
    Sur debian Lenny, c'est bien le fichier /etc/postgresql/8.3/main/postgresql.conf que tu modifies?

  5. #5
    Membre habitué Avatar de M.Max
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2009
    Messages : 90
    Points : 127
    Points
    127
    Par défaut
    Ca voudrait dire que le paramètre listen_addresses='*' n'est pas pris en compte.
    Sur debian Lenny, c'est bien le fichier /etc/postgresql/8.3/main/postgresql.conf que tu modifies?
    OK c'est bon, je n'ose pas dire quel était le problème, c'est cette phrase qui m'a mis le doute et effectivement j'ai bel et bien passé 4h sur un problème ridiculement ridicule.

    'listen_adresses' avait bien la valeur '*' mais était en quote...

    En tout cas merci de t'être penché sur mon problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'accès à une base
    Par JCD_31 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/06/2006, 14h51
  2. Réponses: 2
    Dernier message: 05/06/2006, 11h59
  3. Problème accès base de données
    Par alainconnu dans le forum Outils
    Réponses: 3
    Dernier message: 27/04/2006, 09h31
  4. Réponses: 4
    Dernier message: 15/03/2006, 12h33
  5. Problème d'accès à une base paradox.
    Par Fouflarage dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/03/2006, 23h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo