Einfache alte Streaming-Replikation. PostgreSQL: 9.2.7 Windows 8.1 64 Bit
Meine primären und sekundären Cluster befinden sich auf demselben Windows-Computer. Ich habe bereits pg_start_backup () und alles getan , also haben beide Knoten genau die gleichen Daten.
Jetzt ist das Problem mit der Replikation "Replikationsverbindung" vom Slave-Server nicht mit dem primären Server verbinden, aber ich kann unter Verwendung der gleichen Parameter mit psql-Shell verbinden. Was ich für schuldig halte, ist die Verbindungszeichenfolge in der recovery.conf des Slaves:
primary_conninfo = 'host = 127.0.0.1 port = 5432 user = postgres password = postgres'
Ich habe versucht, localhost, 0.0.0.0, LAN-IP alles außer pg-Protokoll sagt:
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
Nun sieh dir die pg_hba.conf meines Meisters an:
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
Es ist, als hätte ich jede mögliche Verbindung zugelassen, aber der Slave kann keine Verbindung herstellen. Können Sie uns helfen?
quelle
Das Hinzufügen der folgenden Zeile
pg_hba.conf
und das Neuladen funktionierten für mich. Angesichts des Typs 'local' ist die explizite Angabe einer Adresse nicht erforderlich.Und denk dran
pg_ctl reload
quelle
Eine andere mögliche Lösung, die mir hier begegnet ist. Wenn Sie eine logische Replikation durchführen und die DATABASE auf Replikation eingestellt ist, funktioniert dies nicht. Es muss nur ein regulärer Parameter abgerufen werden. Der
replication
Parameter ist für die physische Replikation vorgesehen, nicht für die logische Replikation.Mann, dieser hat einige Arbeit gekostet, um es herauszufinden. Ich hoffe das hilft!
quelle