Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2007, 09h29   #1
Invité régulier
 
Inscription : décembre 2006
Messages : 50
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 50
Points : 8
Points : 8
Par défaut redirection de port

Bonjour,
j'ai une application web java hébergé sur un linux. la base postgresql est sur le même serveur linux.
cette appli utilise des pool de connexions.
cette appli fonctionne tres bien sous windows et sous d'autres serveur linux.
mais sur ce linux (debian) la connexion à la base échoue.

j'ai pisté le problème et j'ai découvert le fichier postgresql.log qui à chaque tentative de connexion à la base ajoute les lignes suivantes :
Code :
1
2
3
 
2007-01-30 09:11:12 [15860] TRACE:  Connexion reçue : hôte=127.0.0.1 port=37633
2007-01-30 09:11:12 [15860] FATAL:  Password authentication échouée pour l'util$
et à chaque nouvelle tentative de connexion à la base 2 nouvelles lignes s'ajoutent mais à chaque fois le numéro de port change.

or mon postgresql est configuré pour écouter le port par défaut.

comment se fait il que le numéro de port change sans arrêt ? il y a t'il une appli susceptible de faire une redirection de la reqûete ?

merci de vos idées.
javaweb44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 09h43   #2
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 291
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 291
Points : 2 738
Points : 2 738
Citation:
Envoyé par javaweb44
Bonjour,
j'ai une application web java hébergé sur un linux. la base postgresql est sur le même serveur linux.
cette appli utilise des pool de connexions.
cette appli fonctionne tres bien sous windows et sous d'autres serveur linux.
mais sur ce linux (debian) la connexion à la base échoue.

j'ai pisté le problème et j'ai découvert le fichier postgresql.log qui à chaque tentative de connexion à la base ajoute les lignes suivantes :
Code :
1
2
3
 
2007-01-30 09:11:12 [15860] TRACE:  Connexion reçue : hôte=127.0.0.1 port=37633
2007-01-30 09:11:12 [15860] FATAL:  Password authentication échouée pour l'util$
et à chaque nouvelle tentative de connexion à la base 2 nouvelles lignes s'ajoutent mais à chaque fois le numéro de port change.

or mon postgresql est configuré pour écouter le port par défaut.

comment se fait il que le numéro de port change sans arrêt ? il y a t'il une appli susceptible de faire une redirection de la reqûete ?

merci de vos idées.
c'est le port du client qui est affiché dans le log… pas celui du serveur…

vérifiez le fichier pg_hba.conf et la table système pg_users… (est-ce que l'utilisateur est prévu pour se connecter à partir de localhost, l'utilisateur existe-t-il dans pg_hba.conf et dans la table pg_users, le mot de passe est-il correct…)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 11h01   #3
Invité régulier
 
Inscription : décembre 2006
Messages : 50
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 50
Points : 8
Points : 8
merci j'avais pas compris que le port qui changait n'était pas celui du serveur.

quand je fais :
./psql -h localhost -U postgres
je tape mon mot de passe "postgres"
il me met "authentifiication échouée pour l'utilisateur postgres"

quand je fais
./psql -U postgres
je tape mon mot de passe "postgres"
ca fonctionne

or mon appli web se connecte en localhost donc c'est pour ca que ca ne fonctionne pas.

j'essaye donc de créer un nouveau utilisateur sur le host localhost
./createuser -h localhost -W
il me met "password authentifiication échouée pour l'utilisateur root"

j'essaye alors de créer un nouveau utilisateur sur le host localhost en tant que postgres
./createuser -h localhost -U postgres -W
il me met "password authentifiication échouée pour l'utilisateur postgres"

je n'arrive pas à créer un untilisateur qui aurait tous les droits sur le host localhost

une idée ?
javaweb44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 11h24   #4
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 291
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 291
Points : 2 738
Points : 2 738
Citation:
Envoyé par javaweb44
merci j'avais pas compris que le port qui changait n'était pas celui du serveur.

quand je fais :
./psql -h localhost -U postgres
je tape mon mot de passe "postgres"
il me met "authentifiication échouée pour l'utilisateur postgres"

quand je fais
./psql -U postgres
je tape mon mot de passe "postgres"
ca fonctionne

or mon appli web se connecte en localhost donc c'est pour ca que ca ne fonctionne pas.

j'essaye donc de créer un nouveau utilisateur sur le host localhost
./createuser -h localhost -W
il me met "password authentifiication échouée pour l'utilisateur root"

j'essaye alors de créer un nouveau utilisateur sur le host localhost en tant que postgres
./createuser -h localhost -U postgres -W
il me met "password authentifiication échouée pour l'utilisateur postgres"

je n'arrive pas à créer un untilisateur qui aurait tous les droits sur le host localhost

une idée ?
c'est un problème lié au contenu de votre fichier pg_hba.conf et à la façon dont votre système résoud le nom "localhost"…

dans pg_hba.conf, vous devez spécifier les adresses IP ou nom de domaines à partir desquels les utilisateurs peuvent se connecter…

par exemple si votre OS résoud "localhost" en "127.0.0.1" mais que vous avez mis "localhost" dans pg_hba.conf au lieu de "127.0.0.1" cela ne fonctionne pas…
vous pouvez le savoir rapidement en essayant les commandes avec "-h 127.0.0.1"…

et n'oubliez pas de notifier le serveur de recharger pg_hba.conf si vous le modifiez… (reload ou SIGHUP…)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 14h59   #5
Invité régulier
 
Inscription : décembre 2006
Messages : 50
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 50
Points : 8
Points : 8
voici mon pg_hba.conf
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
# All IPv4 connections from localhost
host    ALL         ALL         127.0.0.1         255.255.255.255   password
host    ALL         ALL         192.168.16.242    255.255.255.0     password
host    ALL         ALL         192.168.3.225     255.255.255.0     password
#
#
#
# All IPv6 localhost connections
host    ALL         ALL         ::1               ffff:ffff:ffff:ffff:ffff:fff$
host    ALL         ALL         ::ffff:127.0.0.1/128                password
#
# reject all other connection attempts
host    ALL         ALL         0.0.0.0           0.0.0.0           reject
quand j'utilise 127.0.0.1 ca ne marche pas non plus
./psql -h 127.0.0.1-U postgres
il me met "authentifiication échouée pour l'utilisateur postgres"

je sèche ....
javaweb44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 15h44   #6
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 291
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 291
Points : 2 738
Points : 2 738
Citation:
Envoyé par javaweb44
voici mon pg_hba.conf

quand j'utilise 127.0.0.1 ca ne marche pas non plus
./psql -h 127.0.0.1-U postgres
il me met "authentifiication échouée pour l'utilisateur postgres"

je sèche ....

et quand vous essayez avec l'adresse IP réelle de la machine ?
(par ex. 192.168.x.y)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 17h35   #7
Invité régulier
 
Inscription : décembre 2006
Messages : 50
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 50
Points : 8
Points : 8
avec l'adresse ip de la machine c'est le même problème ...
javaweb44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 18h10   #8
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 291
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 291
Points : 2 738
Points : 2 738
Citation:
Envoyé par javaweb44
avec l'adresse ip de la machine c'est le même problème ...
ce qui est curieux est que vous vous connectiez avec
psql -U postgres

car normalement vous devriez avoir une erreur
"psql: FATAL: database "postgres" does not exist"
à moins que vous ayez créé un DB qui se nomme postgres…

y-a-t-il un fichier .psqlrc ?
les variables $PG_HOST and C° sont-elles définies ?
et si oui quelles sont les valeurs ?
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 22h39   #9
Invité régulier
 
Inscription : décembre 2006
Messages : 50
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 50
Points : 8
Points : 8
bien vu
mille excuses, évidemment je tape ceci
Code :
1
2
 
./psql -h 127.0.0.1-U postgres DATABASE
avec postgres comme utilisateur
et database ma base de donnée


concernant le fichier .psqlrc je suis rentré chez moi je vérifierais demain matin
merci
javaweb44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 09h23   #10
Invité régulier
 
Inscription : décembre 2006
Messages : 50
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2006
Messages : 50
Points : 8
Points : 8
Bonjour,

non je n'ai pas de fichier .psqlrc !!!

il y a un truc que je comprends pas :
1)
./psql -h 127.0.0.1-U postgres DATABASE
2)
./psql -h -U postgres DATABASE


Pourquoi le 1 ne marche pas et le 2 fonctionne

ca veut dire pour le 2 que postgres n'utilise pas tcp/ip ?
c'est quoi la différence entre les 2 ?

merci
javaweb44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 14h44   #11
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 291
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 291
Points : 2 738
Points : 2 738
Citation:
Envoyé par javaweb44
Bonjour,

non je n'ai pas de fichier .psqlrc !!!

il y a un truc que je comprends pas :
1)
./psql -h 127.0.0.1-U postgres DATABASE
2)
./psql -h -U postgres DATABASE


Pourquoi le 1 ne marche pas et le 2 fonctionne

ca veut dire pour le 2 que postgres n'utilise pas tcp/ip ?
c'est quoi la différence entre les 2 ?

merci
ne me dites pas que vous avez démarré le serveur SANS l'option -i ?

si c'est le cas évidemment tout s'explique… l'accès ne se fait alors que par le socket Unix, pas par le réseau…
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h18.


 
 
 
 
Partenaires

Hébergement Web