Replicación Master - Slave con PostgreSQL 9.4 (Ubuntu 14.04)
El escenario para el ejemplo son dos (02) servidores con las siguientes IP 192.168.1.191 and 192.168.1.171 con Ubuntu 14.04 y PostgreSQL 9.4
Debe estar instalado el PosgreSQL 9.4, por favor leer: Instalación PostgreSQL 9.4
Ingrese con el usuario Postgres en el terminal:
sudo su - postgres
Genere ssh key:
ssh-keygen
Copiar el ssh key en el servidor contrario:
ssh-copy-id opposite_ip_address
Nota: debe realizar el paso anterior en ambos servidores.
Paso2: Configuración del nodo Maestro.
Crear cuenta para replicación
psql -c "CREATE USER rep REPLICATION LOGIN CONNECTION LIMIT 1 ENCRYPTED PASSWORD 'yourpassword';"
Modificar el archivo de acceso postgres:
vi /etc/postgresql/9.4/main/pg_hba.conf
Agregando la siguiente linea:
host replication rep IP_address_of_slave/32 md5
Y modifique el archivo de configuración postgres:
vi /etc/postgresql/9.4/main/postgresql.conf
listen_addresses = 'localhost,IP_address_of_THIS_host'
wal_level = 'hot_standby'
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 1
hot_standby = on
Y ahora reinicie el servidor Maestro:
service postgresql restart
Paso3: Configuración del nodo esclavo
Detener PostgreSQL:
service postgres stop
Modifique el archivo de acceso postgres:
vi /etc/postgresql/9.4/main/pg_hba.conf
Agregue la siguiente línea:
host replication rep IP_address_of_master/32 md5
Y modifique archivo configuración postgres:
vi /etc/postgresql/9.4/main/postgresql.conf
Los valores del archivo son los siguientes:
listen_addresses = 'localhost,<span class="highlight">IP_address_of_THIS_host</span>'
wal_level = 'hot_standby'
archive_mode = on
archive_command = 'cd .'
max_wal_senders = 1
hot_standby = on
Paso4: Iniciar la replicación
En el servidor Maestro, ejecutar los siguientes comandos para iniciar la replicación:
psql -c "select pg_start_backup('initial_backup');"
rsync -cva --inplace --exclude=*pg_xlog* /var/lib/postgresql/9.1/main/ slave_IP_address:/var/lib/postgresql/9.1/main/
psql -c "select pg_stop_backup();"
En el servidor Esclavo, crear archivo recovery.conf:
vi /var/lib/postgresql/9.4/main/recovery.conf
standby_mode = 'on'
primary_conninfo = 'host=master_IP_address port=5432 user=rep password=yourpassword'
trigger_file = '/tmp/postgresql.trigger.5432'
Y reiniciar Servidor Esclavo para completar la configuración:
service postgresql start
Solo queda realizar las pruebas...
Fuente: https://sonnguyen.ws/replication-master-slave-with-postgresql-9-4-in-ubuntu-14-04/
Hola, muchas gracias por este manual, estoy intentando configurar slony en ubuntu server 16 con postgresql 9.5 he seguido tus pasos pero me lanza un error constantemente en el nodo esclavo psql:clould not connect to server: no existe el archivo o el directorio is the server running locally and accepting.
ResponderEliminarhe reinstalado el S.O. y vuelto a empezar pero nada siempre me da el mismo error.
Gracias de antemano
Hola!!!, parece un problema con pg_hba.conf... No tienes que reinstalar sino revisar ese archivo y el postgresql.conf...
ResponderEliminar