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

#1 13/12/2017 11:36:15

pitpoule
Membre

psql et socket par défaut

Bonjour,

J'ai un souci de connexion en local par psql... ou plutôt, il y a un truc que je ne comprends pas. J'ai deux serveurs en postgresql 9.3
Sur le premier:
-bash-4.1$ netstat -anp | grep 5432
unix  2      [ ACC ]     STREAM     LISTENING     89327956 35882/postmaster    /tmp/.s.PGSQL.5432


-bash-4.1$ /usr/pgsql-9.3/bin/psql
psql (9.3.10)
Type "help" for help.


Sur le deuxième:
# netstat -anp | grep 5432
tcp        0      0 0.0.0.0:5432                0.0.0.0:*                   LISTEN      20775/postmaster
tcp        0      0 10.21.96.85:38381           10.21.92.94:5432            ESTABLISHED 20784/postgres
tcp        0      0 :::5432                     :::*                        LISTEN      20775/postmaster
unix  2      [ ACC ]     STREAM     LISTENING     2840677 20775/postmaster    /tmp/.s.PGSQL.5432


$ /usr/pgsql-9.3/bin/psql
psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?


A quel niveau se décide le socket par défaut ?

Merci

Hors ligne

#2 13/12/2017 12:18:01

gleu
Administrateur

Re : psql et socket par défaut

Il faut dissocier l'emplacement par défaut du socket des outils et du serveur. Pour le serveur, il s'agit du paramètre socket_directory. Sur votre deuxième serveur, cela semble être /tmp. Pour les outils, c'est en dur par défaut, suivant la configuration à la compilation. Ici, cela semble être /var/run/postgresql. Donc tout dépend de votre configuration.


Guillaume.

Hors ligne

#3 13/12/2017 12:37:26

pitpoule
Membre

Re : psql et socket par défaut

Je suis d'accord mais ce sont les "mêmes" binaires issus des dépôts PGDG... j'ai fait aussi appel au bon binaire psql directement (/usr/pgsql-9.3/bin/psql)

La seule différence (et elle est peut être de taille !), c'est que sur le deuxième serveur, des paquets 9.6 ont été aussi installés (le client + les libs).

Hors ligne

#4 13/12/2017 13:09:06

gleu
Administrateur

Re : psql et socket par défaut

Ça peut être le même binaire psql mais pas la même librairie libpq, que psql utilise pour toute la communication avec le serveur PostgreSQL. Or, c'est cette librairie qui contient en dur le chemin vers la socket.


Guillaume.

Hors ligne

#5 13/12/2017 17:18:56

pitpoule
Membre

Re : psql et socket par défaut

oui quand je fais un "ldd" sur le binaire 9.3, il utilise la libpq de la 9.6.
J'ai trouvé ce lien qui parle à peu près du même problème: http://www.postgresql-archive.org/Help- … 61749.html


J'ai l'impression que c'est la 9.6 qui gère deux sockets par défaut.... quand je fais un netstat sur un serveur 9.6


$ netstat -anp | grep 5432

tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::5432                 :::*                    LISTEN      -                   
unix  2      [ ACC ]     STREAM     LISTENING     21272    -                    /tmp/.s.PGSQL.5432
unix  2      [ ACC ]     STREAM     LISTENING     21270    -                    /var/run/postgresql/.s.PGSQL.5432

Hors ligne

Pied de page des forums