Hemos llegado al último post de la guía que comenzamos para la replicación en PostgreSql 9.3 para Linux Centos.

Siguiendo lo realizado en la última entrada, ahora debemos reiniciar el servicio de PostgreSQL: postgresql-9.3 restart;

En CentOS-Esclavo, el fichero de configuración de postgresql.conf debe quedar de la siguiente manera:

Replicación en PostgreSql

Como puedes ver, la primera línea coincide con el servidor maestro.

Replicación en PostgreSql

Replicación en PostgreSql

Replicación en PostgreSql

Observa que los últimos parámetros coinciden completamente con el servidor maestro.

Replicación en PostgreSql

Una vez configurado postgresql.conf, crea un archivo en el directorio data llamado recovery. conf con los siguientes datos:

Replicación en PostgreSql

Vamos a explicar línea por línea lo que hemos hecho en la anterior captura:

  • standby_mode activa el modo standby en nuestro servidor standby.
  • primary_conninfo contiene información necesaria para que nuestro servidor se conecte al servidor maestro .
  • Con trigger_file definimos la ruta en la que se creará el fichero del trigger standby.
  • restore_command se encarga de copiar los ficheros log de la carpeta archive dentro de carpeta principal de PostgreSQL, sustituyendo así los ficheros log existentes.

Ahora reiniciamos el servicio en el maestro y lo detenemos en el esclavo para realizar después una replicación automática con el comando: sudo –u postgres /usr/bin/scp /var/lib/pgsql/9.3/data/%p postgres@192.168.1.11/var/lib/pgsql/9.3/archive/%f

Ya sólo toca probar la replicación. Así, nos conectamos con el usuarios postgres en modo root y después con el comando “psql –l” vemos todas las bases de datos que tenemos creadas en el servidor maestro:

Replicación en PostgreSql

Después creamos una base de datos nueva que se llamará prueba 5: “create database prueba5;” :

Replicación en PostgreSql

Finalmente, iniciamos el servicio en el esclavo con el comando “service postgresql-9.3 start” para que nuestro servidor esclavo replique los datos del servidor maestro. Si usas el comando “psql –l” en el esclavo puedes ver como todas las bases de datos coinciden con el servidor maestro, incluida la que acabamos de crear.

Replicación en PostgreSql

¡Y listo, ya tenemos replicada la base de datos de manera automática! A través de los procesos en ejecución puedes observar como se ha realizando la replicación en el servidor esclavo:

Replicación en PostgreSql

Esperamos que nuestro artículo te haya sido de utilidad y que no te haya resultado demasiado complejo.

Si deseas ampliar tus conocimientos en PostgreSQL no dudes en contactar con nosotros, estaremos encantados de poder ayudarte.