Streaming Replication en 5 Minutos – PostgreSQL

STREAMING REPLICATION

Streaming replication es una capacidad del núcleo de PostgreSQL.

Todo lo que insertes o modifiques en el Master será replicado al Esclavo. Los resultados de Lecturas y Consultas al Master o al Esclavo serán iguales.

Las inserciones o modificaciones deben ser realizadas en el Master para que se Repliquen al Esclavo.

Ventajas: Caso el Servidor Master tenga algún desperfecto, puedes reemplazarlo directamente por el Esclavo .

 

Para asegurarnos de que puedas realizarlo en 5 minutos hemos realizado un mini tutorial.


El Escenario:
Asumiremos que tienes dos servidores:
Master: 192.168.0.3
Slave: 192.168.0.2

En ambos queremos que estén los mismos datos.

Configurando la instancia Master:

Creando la instancia Master en 192.168.0.3:


initdb –D /data

Luego modificar el archivos postgresql.conf en el Master:


listen_addresses = ‘*’ # para permitir acceso remoto
wal_level = hot_standby
max_wal_sender = 3 # o mayor
wal_keep_segments = 100 # o cualquier numero qe proveea seguridad antes que el Esclavo sea iniciado
hot_standby = on # actualmente es una configuración de esclavo pero la configuración sera clonada

Podemos configurar el acceso remoto modificando el archivo pg_hba.conf:

host replication all 192.168.0.2/32 trust

El Master ya puede ser iniciado:

pg_ctl –D /data start

Configurando la instancia Esclavo:

Corra el siguiente comando en 192.168.0.2 en tu shell de UNIX:

chmod 700 / data
pg_basebackup –h 192.168.0.3 –D /data –xlog-method=stream

Esto creara un backup inicial de la instancia de la base de datos. El Log de Transacciones sera replicado basado en este backup base.

Luego podemos escribir un archivo recovery.conf:

standby_mode = on
primary_conninfo = ‘host=192.168.0.3’

Iniciando el Esclavo:
Ya puedes iniciar al Esclavo.

Corra el siguiente comando en 192.168.0.2:

pg_ctl -D /data start

Tu streaming replication está iniciado y funcionando perfectamente!.

Todo lo que insertes o modifiques en el Master será replicado al Esclavo.

Los resultados de Lecturas y Consultas al Master o al Esclavo serán iguales.