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 14/04/2021 12:16:21

mr_hassan60
Membre

Je n'arrive pas à répliquer en utilisant pg_logical

ServerPSQL 9.4 = 192.168.1.91
ServerPSQL 11 = 192.168.1.59

Bonjour,
J'essaie de répliquer une base de donnée , en utilisant l'extension pglogical sur une base de données que j'ai crée sur un serveur Postgresql 9.4 pour répliquer sur un serveur Postgresql 11.
lorsque je tape cette commande sur le serveur psql 11, "SELECT pglogical.create_subscription (subscription_name: = 'subscription1', provider_dsn: = 'host = 192.168.1.91 port = 5432 dbname = test password =password');" j'ai souvent cette erreur :

ERROR: could not connect to the postgresql server in replication mode: FATAL: No entry in pg_hba.conf for the replication connection from
host "192.168.1.59", user "postgres", SSL enabled
FATAL: No entry in pg_hba.conf for replication connection from
host "192.168.1.59", user "postgres", SSL inactive

Je ne sais pas quel est le problème et j'ai essayé de modifier le fichier pg_hba.conf plusieurs fois mais rien ne fonctionne.

PS : Je suis un débutant sur Postgresql.


cdt
Mr_Hassan60

Dernière modification par mr_hassan60 (14/04/2021 15:57:17)

Hors ligne

#2 14/04/2021 14:53:21

rjuju
Administrateur

Re : Je n'arrive pas à répliquer en utilisant pg_logical

Le problème est très clairement indiqué :

FATAL: No entry in pg_hba.conf for replication connection from
host "192.168.1.59", user "postgres", SSL inactive


Consultez https://docs.postgresql.fr/13/auth-pg-hba-conf.html pour plus de détails sur l'ajout d'une entrée pour la réplication.

Hors ligne

#3 14/04/2021 15:24:51

mr_hassan60
Membre

Re : Je n'arrive pas à répliquer en utilisant pg_logical

J'ai rentré dans le fichier pg_hba.conf ces données dans les 2 serveurs  mais malgré ça j'ai toujours l'erreur :

host    all             all             127.0.0.1/32              md5 #11
host    all             all             192.168.1.59/32         md5 #11
host    all             all             192.168.1.91/32         md5 #9.4

Il faut que remplace host par hostssl et hostnossl ?

Hors ligne

#4 14/04/2021 17:20:18

gleu
Administrateur

Re : Je n'arrive pas à répliquer en utilisant pg_logical

La configuration que vous montrez concerne des connexions standards, pas des connexions de réplication.


Guillaume.

Hors ligne

#5 14/04/2021 17:37:56

mr_hassan60
Membre

Re : Je n'arrive pas à répliquer en utilisant pg_logical

gleu a écrit :

La configuration que vous montrez concerne des connexions standards, pas des connexions de réplication.

Salut Guillaume,

Je n'ai pas compris que vous vouliez dire par " pas des connexions de réplication".

cdt
Hassan

Dernière modification par mr_hassan60 (14/04/2021 17:39:18)

Hors ligne

#6 14/04/2021 17:46:29

gleu
Administrateur

Re : Je n'arrive pas à répliquer en utilisant pg_logical

Comme indiqué dans la documentation pointée par Julien plus haut, la colonne database doit valoir replication pour que cela concerne une connexion de réplication, d'où le fait que PostgreSQL vous réponde "No entry in pg_hba.conf for the replication connection". Tout simplement parce que votre configuration n'est pas bonne. Vous devriez avoir une ligne du type :

host    replication             all             adresse_ip/32         md5

en remplaçant adresse_ip par l'adresse du serveur. Le message d'erreur laisse entendre qu'il s'agit de 192.168.1.59, mais le DSN indiqué à la fonction parle de 192.168.1.91.


Guillaume.

Hors ligne

#7 14/04/2021 18:45:39

mr_hassan60
Membre

Re : Je n'arrive pas à répliquer en utilisant pg_logical

d'accord , la commande "SELECT pglogical.create_subscription (subscription_name: = 'subscription1', provider_dsn: = 'host = 192.168.1.91 port = 5432 dbname = test password =password');" fonctionne.

merci d'avoir pris votre temps et m'avoir expliquer, je vous remercie (Julien et Guillaume).

par contre je vois que la réplication n'a pas marché, c'est peut-être un autre problème.

cdt
Hassan

Hors ligne

#8 14/04/2021 22:07:53

gleu
Administrateur

Re : Je n'arrive pas à répliquer en utilisant pg_logical

Il doit y avoir des indices dans les logs.


Guillaume.

Hors ligne

#9 15/04/2021 12:36:33

mr_hassan60
Membre

Re : Je n'arrive pas à répliquer en utilisant pg_logical

J'ai cette erreur là qui vient souvent sur le fichier log :


ERREUR:  subscriber subscription1 initialization failed during nonrecoverable step (d), please try the setup again
LOG: apply worker [38744] at slot 1 generation 12 exiting with error 2021-04-15 10:20:23 CEST [35518-16] LOG: processus en tâche de fond « pglogical apply 16431:1763399739 » (PID 38744) quitte avec le code de sortie 1

ça viendrait de m'a configuration de la base de donnée (création de nœud abonnée et le nœud abonnement) ou encore le fichier pg_hba.conf.

cdt

Hassan

Hors ligne

#10 15/04/2021 13:11:04

rjuju
Administrateur

Re : Je n'arrive pas à répliquer en utilisant pg_logical

Il s'agit d'une erreur propre à pglogical.  Regardez sur leur documentation si vous avez raté une étape, sinon il vous faudra à priori contacter les auteurs.

Hors ligne

Pied de page des forums