Replicação de dados síncrona com Postgres

Neste artigo mostrarei como fazer uma replicação assíncrona com banco de dados Postgres na versão 9.5 em um Ubuntu 16.10.

[ Hits: 1.094 ]

Por: Vítor Soares Vian em 08/10/2017 | Blog: https://www.linkedin.com/in/vitor-soares-vian/


Introdução sobre replicação de dados



Replicação de dados é uma técnica muita conhecida em banco de dados, trata-se de uma espelhamento de dados e objetos de um banco de dados para outro, mantendo assim um espelho de uma para o outro, com isso temos como benefícios a tolerância à falhas, redundância de dados e se necessário um balanceamento de carga.

Nesse artigo iremos explorar a replicação do tipo Master-Slave onde teremos um servidor principal (master) e os demais que receberão a cópia desse servidor (slaves).

Vamos iniciar a configuração!

Configurando o servidor master

Edite o arquivo postgresql.conf, que na versão 9.5 encontra-se em: /etc/postgres/9.5/main/postgresql.conf

Edite a linha contendo o seguinte texto "listen_addresses", que caso esteja comentada apenas remova o '#' da frente da linha e adicione o caractere "*" no lugar do localhost. Este parâmetro indica a que IP o postgres está escutando, neste caso colocaremos para escutar qualquer IP.

A linha deverá ficar assim:

listen_addresses = '*'

Agora precisamos mudar o parâmetro "wal_level", trocar de minimal para hot_standby, para que sejam adicionadas informações de leitura de consultas no servidor de espera.

wal_level = hot_standby

Trocaremos também a variável "wal_keep_segments", que especifica a quantia de segmentos de arquivo de logs passados.

wal_keep_segments = 10

Trocaremos também a "max_wal_senders" para o número de replicadores que teremos, que no nosso exemplo será apenas 1.

max_wal_senders = 1

Colocaremos o hot_standby para on, edite a seguinte linha, trocando off por on.

hot_standby=on

Agora edite o arquivo pg_hba.conf, que na versão 9.5 encontra-se em: /etc/postgres/9.5/main/pg_hba.conf

No final do arquivo adicione a seguinte linha:

host replication replicador x.x.x.x trust

Onde:
  • replicador = nome de usuário que será criado
  • x.x.x.x = ip slave
  • trust = sem pedir senha

Agora reinicie o postgresql:

# service postgresql restart

    Próxima página

Páginas do artigo
   1. Introdução sobre replicação de dados
   2. Criando usuário de replicação
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Vacuum - otimizando sua base de dados PostgreSQL

Como instalar Postgres 8 no Linux em 10 passos rápidos

Como migrar banco de dados MySQL para PostgreSQL

Monitorando Banco de Dados Postgres com ZABBIX

Microsiga Protheus com Postgres

  
Comentários
[1] Comentário enviado por hrcerq em 08/10/2017 - 16:33h

Excelente tutorial. Muito obrigado.

---

Atenciosamente,
Hugo Cerqueira

[2] Comentário enviado por danniel-lara em 09/10/2017 - 16:23h

Muito bom mesmo , e simples de fazer
Parabéns


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts