Ainda no servidor master, agora iremos criar o usuário de replicação.
Execute as seguintes linhas:
su - postgres
(seleciona o usuário postgres)
psql
(entra no terminal do postgres)
>
create user replicador replication
Onde:
- replicador = nome do usuário
- replication = flag que informa que esse usuário será usado para replicação
Para verificar a existência desse usuário execute "
\du+" dentro de terminal do postgresql, verifique que o usuário que acabamos de criar contém uma flag chamada "replication".
Configurando servidor slave
Agora no servidor slave faça o seguinte...
Primeiro iremos parar o servidor do postgresql com o seguinte comando:
# /etc/init.d/postgresql stop
ou
# service postgresql stop
Vamos remover o banco de dados atual do postgresql:
# rm -Rf /var/lib/postgresql/9.5/main/*
Agora vamos usar o usuário postgres:
# su - postgres
E ali vamos usar uma ferramenta chamada pg_basebackup, que pode ser usado para apontar um diretório onde a gente deseja que caia o nosso backup, para isso usaremos este comando:
pg_basebackup -D /var/lib/postgresql/9.5/main/ -h IP_DO_MASTER -u USUARIO_REPLICADOR
* com o comando acima fizemos o backup do banco de dados do server master.
Agora iremos criar um arquivo chamado "recovery.conf":
vim /var/lib/postgresql/9.5/main/recovery.conf
Coloque o seguinte conteúdo dentro desse arquivo.
standby_mode=on
primary_conninfo='host=172.17.0.2 user=replicador application_name=debian2'
trigger_file='/tmp/pgtrigger'
Na primeira linha estamos informando que o postgresql esta em modo standby, enquanto que na segunda linha estamos informando parâmetros referentes ao servidor como host, usuário usado na replicação, e o aplication_name.
Na última linha temos um arquivo que não deve existir no servidor que esta sendo configurado pois este arquivo quando criado informa ao postgresql que ele deverá sair do modo replicação.
E por fim é só iniciarmos o postgresql:
# /etc/init.d/postgresql start
ou
# service postgresql start
Para testar é só criar um banco de dados novo no servidor master e ver ele aparecer dentro de poucos segundos no servidor slave.
Sua replicação está pronta!!!