Réplication en streaming ancienne et simple. PostgreSQL: 9.2.7 Windows 8.1 64 bits
Mes clusters primaires et secondaires sont sur la même machine Windows. J'ai déjà fait pg_start_backup () et tout, donc les deux nœuds ont exactement les mêmes données.
Maintenant, le problème avec la réplication est que la "connexion de réplication" du serveur esclave ne se connecte pas au serveur principal, mais je peux me connecter en utilisant les mêmes paramètres à l'aide du shell psql. Ce que je pense coupable est la chaîne de connexion dans recovery.conf de l'esclave:
primary_conninfo = 'host = 127.0.0.1 port = 5432 user = postgres password = postgres'
J'ai essayé localhost, 0.0.0.0, lan IP tout mais le journal de pg indique:
FATAL: could not connect to the primary server: FATAL: no pg_hba.conf entry for replication connection from host "127.0.0.1", user "postgres", SSL off
Maintenant, regardez mon pg_hba.conf de maître:
host all all 0.0.0.0/0 trust
host all postgres 127.0.0.1/0 trust
# IPv6 local connections:
host all all ::1/128 md5
hostnossl all postgres 127.0.0.1/32 trust
# 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
Comme si j'autorisais toutes les connexions possibles, l'esclave ne peut pas se connecter. Pouvez-vous m'aider?
la source
L'ajout de la ligne ci-dessous
pg_hba.conf
et le rechargement ont fonctionné pour moi. Étant donné que le type est «local», il n'est pas nécessaire de spécifier explicitement une adresse.Et n'oubliez pas de
pg_ctl reload
la source
Une autre solution possible ici que j'ai rencontrée. Si vous effectuez une réplication logique et que la BASE DE DONNÉES est définie sur la réplication, cela ne fonctionnera pas. Il doit juste obtenir un paramètre régulier. Le
replication
paramètre concerne la réplication physique, pas la réplication logique.Mec, celui-là a pris un peu de travail pour comprendre. J'espère que ça aide!
la source