Sunteți pe pagina 1din 5

Replicas en Postgres

Este tipo de replicacin puede ser sncrona o asincrnica, entre un servidor principal
y otro secundario, y se basar en la transferencia de registros WAL (Write Ahead
Log). La idea principal es usar Streaming Replication para aligerar la carga del
servidor principal introduciendo un servidor secundario en modo lectura. Es
importante tener en cuenta que utilizando este modelo no podemos especificar
objetos especficos a replicar de las bases de datos, sino que se replica de manera
completa.
Lo primero que debemos hacer es tener dos mquinas conectadas para realizar la
red de esta forma procedemos a instalar postgres 9.3 en este caso por ser la
versin que tiene el mdulo de slony para la replicacin.
Para esta prctica utilizamos el pgAdmin III y el slony-1 para realizar la replicacin.
Una vez instalado todo esto procedemos a ir a los directorios necesarios para
modificar los archivos de conexin de portgres.
En caso de la versin de postgres que tenemos la ruta seria C:\Program Files
(x86)\PostgreSQL\9.3\bin y la ruta C:\Program Files (x86)\PostgreSQL\9.3\data en
la segunda de esta procedemos a modificar el archivo pg_hba.conf en la cual
procederemos a insertar las direcciones ip de la maquina maestra y la maquina
esclavo como se ve en la siguiente imagen

Esto nos permitir tener acceso de conexin en el mismo manejador de base de


datos. Lo siguiente ser crear un archivo de texto llamado maestro.txt que

procederemos a guardar en la primera de las rutas ya descritas osea en la carpeta


bin de postgres. Dentro de este documento pondremos las siguientes instrucciones:

Cluster name. Es el nombre de nuestro cluster

El node 1 y node 2 son los nodos que contendrn la informacin de las


conexiones de la maquina maestra y la maquina esclava respectivamente.

Init cluster. Es la instruccin que inicia el cluster

Crate set. Crea una entrada a nuestra lista de tablas (las que sern
replicadas) y estas a su vez sern descritas con la instruccin set add table

Store node. Inicia el nodo esclavo

Stpre path. Especifica la ruta donde est contenido todo

Este archivo lo llevara la maquina maestra y la maquina esclavo llevara a su vez un


archivo llamado esclavo.txt el cual tendr las siguientes instrucciones

La nica diferencia de este archivo es la lnea SUBSCRIBE que indica de donde


venda la conexin y cul es la que recibir la informacin.
Por ultimo realizaremos los comandos necesarios para correr los archivos, esto en
modo consola desde donde iremos a la ruta donde se encuentra el archivo
maesto.txt y el archivo esclavo.txt en el caso de la maquina maestra correremos la
siguiente instruccin:

Luego haremos lo mismo en la maquina esclavo. Sin embargo la maquina esclavo


deber de mostrar mensajes de escucha en espera de repuesta del node 1 la cual
seguir retransmitiendo mientras la maquina esclavo no conteste:

Una vez llegado a este punto solo estaramos a una lnea de comando de realizar la
replicacin de todas las tablas asignadas por lo que regresamos a la maquina
maestra y nos logeamos en el slony usando la siguiente sentencia:
slon cluster11 "dbname=sgv user=postges password=20101055 port=5433"
Como se ve debemos especificar el nombre del cluster, el del usuario, la base de
datos y el password.
Nota. El puerto es esencial que sea especificado si nuestra versin de postgres es
instalada en un puerto diferente al predeterminado 5432.
Esta ltima lnea la debemos realizar en ambas maquinas, cada cual con la cuenta
propia para logearse. Si todo va bien las dos maquina empezaran a hacer las
rplicas lo que se ver reflejado en el pgAdmin:

S-ar putea să vă placă și