PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 05/12/2008 15:09:13

lag
Membre

acces distant

bonjour,
j'essaye d'accéder ç une base sur un serveur à partir d'un autre hote (hoteclient)
j'ai modifié donc :
1. postgresql.conf en y mettant listen_addresses='localhost,hoteclient'
2. ph_hba.conf en y ajoutant
    host    base         user         adresseip_hoteclient/32          md5

Mais ca enfonctionne pas
Cela marche si je mets listen_adresses='*'
meme si je remplace hoteclient par son adresse, ce ne marche pas non plus

Y a un truc que j'ai pas pigé ou quoi ? il faut bien mettre l'ip du client dans listen_adress

Hors ligne

#2 05/12/2008 19:55:53

daamien
damien clochard

Re : acces distant

lag a écrit :

Y a un truc que j'ai pas pigé ou quoi ? il faut bien mettre l'ip du client dans listen_adress

Non !

listen_adress doit contenir les adresses locales du serveur sur lequel l'instance PostgreSQL écoute. En mettant '*' tu demandes à PostgreSQL d'écouter sur toutes les interfaces réseau de la machine.

Par exemple si l'adresse de ton serveur est 192.168.0.1 , tu devras écrire :

listen_addresses='localhost,192.168.0.1'

ou plus simplement :

listen_addresses='*'

Hors ligne

#3 05/12/2008 20:16:32

lag
Membre

Re : acces distant

ha evidemment. J'avais qu'à bien lire la doc.
Merci damien.

Hors ligne

#4 28/01/2010 17:31:08

bersyl91
Membre

Re : acces distant

Bonjour à tous,

Désolé de ressortir ce vieux thread, mais aujourd'hui, sur Ubuntu Karmic Koala/Postgresql 8.4, j'ai ce problème qui apparaît.

Dans postgresql.conf, j'ai :

listen_addresses = 'localhost,192.168.XXX.YYY'

Dans la log, j'ai :

2010-01-28 16:17:35 CET LOG:  n'a pas pu se lier ? la socket IPv4 : Ne peut attribuer l'adresse demand?e
2010-01-28 16:17:35 CET ASTUCE :  Un autre postmaster fonctionne-t'il d?j? sur le port 5432 ?
    Sinon, attendez quelques secondes et r?essayez.
2010-01-28 16:17:35 CET ATTENTION:  n'a pas pu cr?er le socket d'?coute pour << 192.168.XXX.YYY >>

et netstat -an | grep 5432 me donne  :

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     1275545  /var/run/postgresql/.s.PGSQL.5432

En fait, il semble qu'il essaie d'ouvrir deux fois le port 5432 sur deux adresses d'écoute et qu'il n'y arrive pas, alors il plante la deuxième ; en effet, j'ai vu apparaître fugitivement :

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     
tcp        0      0 192.168.XXX.ZZZ:5432      192.168.XXX.YYY:37961      FIN_WAIT2 
unix  2      [ ACC ]     STREAM     LISTENING     1275058  /var/run/postgresql/.s.PGSQL.5432

Comment faire ?

Hors ligne

#5 28/01/2010 17:34:54

gleu
Administrateur

Re : acces distant

Combien d'interfaces avez-vous sur ce serveur ? si vous voulez écouter sur toutes, utilisez plutôt '*' que la liste des interfaces comme actuellement.


Guillaume.

Hors ligne

#6 28/01/2010 18:23:37

SAS
Membre

Re : acces distant

bersyl91 a écrit :

Bonjour à tous,

(...)
Dans postgresql.conf, j'ai :

listen_addresses = 'localhost,192.168.XXX.YYY'

(...)
Comment faire ?

L'adresse 192.168.XXX.YYYY correspond-elle à l'adresse du serveur PostgreSQL ?

J'ai configuré la variable de la même façon (localhost, 192.168.xxx.yyy), et j'obtiens bien le résultat attendu :

$ sudo netstat -an |grep 5434
tcp        0      0 192.168.xxx.yyy:5434      0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:5434          0.0.0.0:*               LISTEN
unix  2      [ ACC ]     STREAM     LISTENING     1194307  /var/run/postgresql/.s.PGSQL.5434


Les connexions à la base sont possibles.


Stéphane Schildknecht
Conseil, formations et support PostgreSQL
http://www.loxodata.com

Hors ligne

#7 29/01/2010 11:15:49

bersyl91
Membre

Re : acces distant

gleu a écrit :

Combien d'interfaces avez-vous sur ce serveur ? si vous voulez écouter sur toutes, utilisez plutôt '*' que la liste des interfaces comme actuellement.

Euh... Je n'ai pas compris ce paramètre ainsi. Pour moi, il ne définit pas d'interfaces mais des adresses d'écoute (listen_addresses). Je pensais donc limiter l'écoute à une machine du réseau.

Effectivement, je n'avais pas bien lus la doc : "The special entry * corresponds to all available IP interfaces.".

J'avais donc utilisé l'adresse de ma machine cliente au lieu de celle de l'interface.
Je viens de changer et ça fonctionne comme un charme.

Merci !

Hors ligne

#8 29/01/2010 11:21:31

SAS
Membre

Re : acces distant

Pour limiter l'autorisation d'accès à une seule machine du réseau, vous devez utiliser le fichier pg_hba.conf.


Stéphane Schildknecht
Conseil, formations et support PostgreSQL
http://www.loxodata.com

Hors ligne

Pied de page des forums