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.095 ]

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

Pool de Conexões Transparentes no Postgres usando o pgpool

Monitorando Banco de Dados Postgres com ZABBIX

PostgreSQL + phpPgAdmin no CentOS 5

PostgreSQL: comandos básicos

Vacuum - otimizando sua base de dados PostgreSQL

  
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