You are on page 1of 3

TPICOS AVANZADOS DE BASE DE DATOS

Introduccin
PostgreSQL es un popular sistema gestor de base de datos que puede
almacenar los datos asociados de un negocio, empresa o sitio web. El
trmino replicacin significa que se copiar la base de datos a un
segundo sistema con el propsito de general alta disponibilidad y
redundancia.
Existen varias maneras de replicar una base de datos: en este tutorial se
configurar usando el hot standby cuya ventaja radica en que es
relativamente fcil de configurar.

Requerimientos de configuracin:
Sistemas operativos: Ubuntu Server 12+
Bases de datos PostreSQL: 9+

Tutorial:
Aplicar la siguiente configuracin en ambos servidores:
#sudopasswdpostgres
#sudosupostgres
postgres$sshkeygen
postgres$sshcopyidIP_del_servidor_contrario

Aplicar la siguiente configuracin en el servidor Master


#psqlc"CREATEUSERrepREPLICATIONLOGINCONNECTION
LIMIT1ENCRYPTEDPASSWORD'PASSWORD';"
#nano/etc/postgresql/9.3/main/pg_hba.conf

Aadiralarchivolasiguientelnea(noalfinal)
hostreplicationrepIP_SLAVE/32md5

#nano/etc/postgresql/9.3/main/postgresql.conf
Buscar,descomentaryasignarlossiguientesparmetros
listen_addresses='localhost,IP_de_este_SERVER'
wal_level='hot_standby'
archive_mode=on
archive_command='cd.'
max_wal_senders=1
hot_standby=on
#servicepostgresqlrestart

Aplicar la siguiente configuracin en el servidor Slave


#servicepostgresqlstop
#nano/etc/postgresql/9.3/main/pg_hba.conf

Aadiralarchivolasiguientelnea(noalfinal)
hostreplicationrepIP_MASTER/32md5
#nano/etc/postgresql/9.3/main/postgresql.conf
Buscar,descomentaryasignarlossiguientesparmetros
listen_addresses='localhost,IP_de_este_SERVER'
wal_level='hot_standby'
archive_mode=on
archive_command='cd.'
max_wal_senders=1
hot_standby=on

Replicar los datos iniciales:


En el servidor Master:
#sudosupostgres
postgres$psqlc"select
pg_start_backup('initial_backup');"

postgres$rsynccvainplaceexclude=*pg_xlog*
/var/lib/postgresql/9.1/main/
IP_SLAVE:/var/lib/postgresql/9.1/main/
postgres$psqlc"selectpg_stop_backup();"

En el servidor SLAVE
postgres$cd/var/lib/postgresql/9.3/main
postgres$nanorecovery.conf
Ingresarlasiguienteinformacinenelarchivo.
standby_mode='on'
primary_conninfo='host=IP_MASTERport=5432user=rep
password=password_rep'
trigger_file='/tmp/postgresql.trigger.5432
#servicepostgresqlstart

You might also like