Tengo un servidor en vivo que se ejecuta en postgres 9.5.
Me gustaría tener una replicación fuera del sitio de la misma base de datos alojada en un servidor en la nube (Llamémoslo servidor en espera). Estamos de acuerdo con cualquier lugar entre 10 minutos y hasta 1 hora de retraso entre la base de datos en vivo y la base de datos en espera.
El servidor en vivo se ejecuta en la intranet pero tiene acceso a Internet. No hay una dirección IP estática asociada con el servidor en vivo.
Queremos utilizar el servidor de reserva para permitir que otras oficinas fuera del país accedan a los mismos datos, aunque con retrasos aceptables. Las otras oficinas solo tienen acceso de lectura a los datos en el servidor de reserva.
El servidor en espera también actúa como una copia de seguridad activa de la base de datos activa.
He encontrado este artículo pero parece bastante breve. https://wiki.postgresql.org/wiki/Streaming_Replication
¿Cómo lo configuro para que esto se pueda lograr?
También me gustaría saber el impacto de la configuración si la conexión a Internet no existe durante un período de tiempo (digamos, de 5 segundos a incluso 20 minutos) entre el servidor en vivo y el servidor en espera. Esto puede suceder ocasionalmente ya que el servidor en vivo se encuentra en un país donde la infraestructura no es la mejor.
ACTUALIZAR con más investigaciones
Hay múltiples opciones para la replicación:
La opción documentada más popular es el envío de registros de transacciones
Dentro de eso hay 2 opciones para standby: tibio y caliente
Y luego puede elegir entre 2 formas de replicar o una combinación de ambas:
Preguntas relacionadas con la implementación a la pregunta más grande de cómo tener una replicación:
Suponiendo que se elige Envío de registro de transacciones como método,