Replicación de transmisión simple y antigua. PostgreSQL: 9.2.7 Windows 8.1 64 bit
Mis grupos principales y secundarios están en la misma máquina de Windows. Ya he hecho pg_start_backup () y todo, por lo que ambos nodos tienen exactamente los mismos datos.
Ahora el problema con la replicación es la "conexión de replicación" del servidor esclavo, no se conecta al servidor primario, pero puedo conectarme usando los mismos parámetros usando el shell psql. Lo que creo que es el culpable es la cadena de conexión en esclavo recovery.conf:
primary_conninfo = 'host = 127.0.0.1 port = 5432 user = postgres password = postgres'
Intenté localhost, 0.0.0.0, lan IP todo, pero el registro de pg dice:
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
Ahora mira el pg_hba.conf de mi maestro:
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 como si permitiera todas las conexiones posibles, pero el esclavo no puede conectarse. ¿Puedes hacer alguna ayuda?
fuente
Agregar la línea a continuación
pg_hba.conf
y volver a cargar funcionó para mí. Teniendo en cuenta que el tipo es 'local', no es necesario especificar explícitamente una dirección.Y recuerda a
pg_ctl reload
fuente
Otra posible solución aquí con la que me encontré. Si está realizando una replicación lógica y tiene la BASE DE DATOS configurada para replicación, no funcionará. Solo necesita obtener un parámetro regular. El
replication
parámetro es para la replicación física, no para la replicación lógica.Hombre, ese tomó un poco de trabajo para darse cuenta. ¡Espero que esto ayude!
fuente