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 12/09/2017 10:33:04

alaindalger
Membre

accéder à distant à une base de donnée

Bonjour à tous,

Je developpe une application en VFP9. La base de données ayant ateint les limites, j'ai décidé de migrer ma base vers PostGreSql.
J'ai fait une tentative pour voir il y a 5 ans, puis j'ai arrêté.
Voilà mon problème que je repose:

j'ai installé sur un premier micro Postgresql 9.2, j'ai créé une base de données et des tables. Je requête mes tables normalement.
J'utilise ce poste comme serveur Postgresql.
J'ai fait les modifications suivantes sur :
1- fichier postgresql.conf => parametre 'listen_addresses = '*' coché
2- Au fichier pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the replication privilege.
# host     replication     postgres     127.0.0.1/32         md5
# host   replication     postgres         ::1/128             md5

j'ai ajouté cette ligne:

host    all             all             192.168.1.45            md5


J'ai installé sur un deuxième poste de travail(IP = 192.168.1.45) PGadminIII. A partir de PGadminIII j'essaie
d'ajouter une connection à un serveur :

Nom =             ConDistant
Hôte =            192.168.1.2
Port TCP =         5432
Service =
Base maintenance =    postgres
Nom utilisateur =    postgres
Mot de passe =        postgres

le résultat est ce message d'erreur :
Une erreur s'est produite :
Error connecting to the server: FATAL: n'a pas pu charger pg_hba.conf

J'ai aussi le même message si j'essaie d'acceder à mes tables depuis le serveur.
J'ai déactivé le pare feu et l'anti virus.

Merci pour toute suggestion.

Bonne journée.

Hors ligne

#2 12/09/2017 13:04:13

rjuju
Administrateur

Re : accéder à distant à une base de donnée

alaindalger a écrit :

j'ai installé sur un premier micro Postgresql 9.2

Pourquoi installer une version qui sera en fin de vie d'ici un mois ?


Sinon, comme le message l'indique postgres n'a pas pu charger le fichier pg_hba.conf.  Avez-vous des erreurs dans les traces de postgres ?  J'imagine que les droits ont pu être modifiés durant la modification, ou que des erreurs de syntaxe y apparaissent.

Hors ligne

#3 12/09/2017 13:21:48

dverite
Membre

Re : accéder à distant à une base de donnée

Il y a une erreur de syntaxe dans le pg_hba.conf.

Pour savoir où exactement, regarder le log côté serveur qui doit avoir l'erreur complète avec le numéro de ligne.

Comme la ligne ajoutée semble correcte, peut-être que l'éditeur de texte utilisé a mis un marqueur BOM en début de fichier. De mémoire d'autres utilisateurs de ce forum ont eu ce problème sur Windows.
BOM = https://fr.wikipedia.org/wiki/Indicateu … des_octets


@DanielVerite

Hors ligne

#4 13/09/2017 11:13:00

alaindalger
Membre

Re : accéder à distant à une base de donnée

Bonjour à tous,

Merci pour le conseil, j'ai changé la version 9.2 par la version 9.6

lLe log me donne effectivement le n° de la ligne, le message sans plus.

J'ai édité pg_hba.conf avec le bloc note de word et regardé l'ensemble des lignes du fichier y compris les lignes en commentaire. Apparemment RAS.

Pouvez vous m'indiquer d'autres pistes à suivre, d'autres suggestions , ....

Merci pour votre aide.

Alain

Hors ligne

#5 14/09/2017 09:13:22

superette
Membre

Re : accéder à distant à une base de donnée

Bonjour,

La ligne suivante :
host    all             all             192.168.1.45            md5

Devrait être écrite comme ca :

host    all             all             192.168.1.45/32            md5

Bonne journée !

Hors ligne

#6 14/09/2017 11:37:20

alaindalger
Membre

Re : accéder à distant à une base de donnée

Bonjour,

en suivant votre conseil, c.a.d écrire 192.168.1.45/32  au lieu de 192.168.1.45 , j'ai le message suivant: connexion à la base de données....Échoué.

1- ce message, je le reçois lorsque je suis connecté au serveur local depuis un poste de travail.

2- ce message, je le revois lorsque je suis sur le serveur lui même.

3- ce message, je le reçois même si je désactive la ligne que j'ai modifié.


JE PATAUGE ..........

HELP ME PLEASE!!!!!!!

AMAHALLA

Hors ligne

#7 14/09/2017 14:43:49

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

Bonjour,
Vous avez recharger la conf après la modification ?
Rien dans les traces postgresql juste après le redémarrage ?
comment vous vous connectez (psql) ?
quelle est la chaine de connection ?
Dans postgresql.conf, avez-vous : listen_addresses = '*'
?

Cordialement.

Hors ligne

#8 14/09/2017 15:26:24

alaindalger
Membre

Re : accéder à distant à une base de donnée

Bonjour,

La configuration est rechargée systématiquement après chaque modification que j'effectue.

Pour ce qui est des traces, le fichier log 'postgresql-2017-09-14_043330' coincé à :
2017-09-14 04:33:30 CEST FATAL:  n'a pas pu charger pg_hba.conf
2017-09-14 04:33:30 CEST LOG:  le système de base de données est arrêté
s'il faut rechercher autre part, où?

dans postgresql, listen_addresse = "*"

Pour ce qui est de la connexion, je ne connait pas 'psql' . Développant en VFP9, je me connecte à travers une chaîne ODBC:
    DRIVER={PostgreSQL ODBC Driver(UNICODE)};     DATABASE=<<lcDatabase>>; SERVER=<<lcserver>>; PORT=5432; UID=postgres; PWD=<<lcPassword>>;
    CA=d; A6=; A7=100; A8=4096; B0=255; B1=8190; BI=0; C2=dd ; CX=1c502bb; A1=7.4

1- Cette chaîne me connecte à une base de données locale en mettant lcserver = localhost et je peux alors faire mes requêtes vers les tables PG normalement.
2- En mettant lcserver = 192.168.1.45/32 j'ai un message "connexion à la base de données....Échoué."
3- Je me connecte à la base de données existante sur le serveur depuis le serveur depuis le bouton "Ajouter un enregistrement de serveur' de pgAdmin III,  j'ai un message "connexion à la base de données....Échoué."

J'espère vous avoir éclairé plus sur mon problème.

Merci pour votre aide.

A.MAHALLA

Hors ligne

#9 14/09/2017 15:36:31

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

il faudrait mettre lcserver = 192.168.1.45
Le serveur où est installé postgresql est un windows ?

Hors ligne

#10 14/09/2017 15:44:02

alaindalger
Membre

Re : accéder à distant à une base de donnée

L'OS du serveur où est installé postgresql est un win7

Si je met  lcserver = 192.168.1.45 je reviens à mon point de départ avec pour message d'erreur "Error connecting to the server: FATAL: n'a pas pu charger pg_hba.conf"

Hors ligne

#11 14/09/2017 15:57:05

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

attention, dans le pg_hba.conf vous devez avoir  : host    all             all             192.168.1.45/32            md5
et dans la chaine de connexion :  lcserver = 192.168.1.45
C'est bien ça ?

Hors ligne

#12 14/09/2017 16:02:07

dverite
Membre

Re : accéder à distant à une base de donnée

alaindalger a écrit :

lLe log me donne effectivement le n° de la ligne, le message sans plus.
...
J'ai édité pg_hba.conf avec le bloc note de word

Quel est le numéro de ligne indiqué par l'erreur? En particulier est-ce que c'est la ligne 1?


@DanielVerite

Hors ligne

#13 14/09/2017 16:21:29

alaindalger
Membre

Re : accéder à distant à une base de donnée

Pardon pour l'erreur,

Effectivement sur le fichier pg_hba.conf, il y a:  host    all             all             192.168.1.45/32            md5
dans la chaîne de connexion : lcserver = 192.168.1.45

Pour ce qui est de la ligne indiquée par l'erreur c'est la ligne 81.
Bonne journée.

Hors ligne

#14 14/09/2017 16:23:15

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

qui y a t'il sur la ligne 81 ?

Hors ligne

#15 14/09/2017 16:39:14

alaindalger
Membre

Re : accéder à distant à une base de donnée

ligne 81 :

1-Elle était écrite de cette manière : host     all     all     192.168.1.45     md5, le message d'erreur était "Error connecting to the server: FATAL: n'a pas pu charger pg_hba.conf"

2- En la modifiant conne suit : host    all             all             192.168.1.45/32            md5, le message d'erreur est :"connexion à la base de données....Échoué."

Juste pour savoir,

2017-09-14 04:33:30 CEST FATAL:  n'a pas pu charger pg_hba.conf => je suppose que cette ligne correspond à ma 1° écriture de pg_hba.conf [ host     all     all     192.168.1.45     md5]
2017-09-14 04:33:30 CEST LOG:  le système de base de données est arrêté => je suppose que cette ligne correspond à ma 2° écriture sur le fichier [ host     all     all     192.168.1.45/32     md5]

je trouve les datetimes un peu bizarre notamment le temp?

Merci et bonne journée.

Hors ligne

#16 14/09/2017 16:40:45

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

du coup l'instance ne démarre pas ?

Hors ligne

#17 14/09/2017 16:44:45

alaindalger
Membre

Re : accéder à distant à une base de donnée

Quelque soit la méthode que j'emploie, la connexion échoue.

Hors ligne

#18 14/09/2017 16:45:21

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

je ne parle pas de la connexion, je parle de l'instance elle même. Est-elle démarrée ?

Hors ligne

#19 14/09/2017 16:47:23

alaindalger
Membre

Re : accéder à distant à une base de donnée

pardon, oui,oui.

Hors ligne

#20 14/09/2017 16:52:29

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

ok donc tentez une connexion avec lcserver = 192.168.1.45 et donnez nous les lignes des traces postgreSQL qui correspondent à votre tentative.
juste ces lignes et pas d'autres.

Hors ligne

#21 14/09/2017 17:00:10

dverite
Membre

Re : accéder à distant à une base de donnée

Il faut trouver l'erreur de syntaxe dans le pg_hba.conf et à travers les copier-coller sur le forum on ne voit pas le problème.

Est-ce que vous pouvez uploader votre pg_hba.conf quelque part sur un service du genre google drive, qu'on ait la copie exacte du fichier à l'octet près?


@DanielVerite

Hors ligne

#22 14/09/2017 17:04:21

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

Je pense comme dverite qu'il y a un caractère caché dans le fichier qui parasite l'ensemble.
Il faudrait ouvrir le fichier avec un éditeur évolué de type notepad++ et activer l'affichage des caractères spéciaux.

Hors ligne

#23 14/09/2017 17:08:25

alaindalger
Membre

Re : accéder à distant à une base de donnée

Je relance une connexion depuis le poste de travail.

Bizarrement, la dernière ligne est : 2017-09-14 04:33:30 CEST LOG:  le système de base de données est arrêté .


le temps semble s'être arrêter à 2017-09-14 04:33:30 qui ne correspond ni au temps du serveur ni à celui du poste de travail [ l'heure est acuellement 16:02 GMT +1]

Hors ligne

#24 14/09/2017 17:17:25

ruizsebastien
Membre

Re : accéder à distant à une base de donnée

c'est parce que l'instance est arrêtée.
Vérifiez le service windows et les process dans le gestionnaire des taches.

Hors ligne

Pied de page des forums