PostgreSQL 9.4 - Replicação com slots

Este é um artigo demonstrando como fazer uma replicação de dados com slots, disponível a partir da versão 9.4, que permite diminuir o uso de wal_keep_segments para garantir o preenchimento de dados para o modo de espera em caso de atraso por replicação excessiva.

[ Hits: 13.674 ]

Por: Wendel em 13/01/2015


Conceito e instalação



A replicação de dados em slots permite que não haja perda de dados na hora de recuperação de dados dos escravos mesmo quando a espera é desconectada, sendo disponibilizada a partir da versão 9.4.

A primeira necessidade é a instalação do PostgreSQL no servidor no qual chamaremos de mestre e o cliente (escravo). Execute o comando para instalar:

sudo apt-get install postgresql

Ou:

sudo apt-get install postgresql-9.4

Ou adicione ao repositório do APT. Crie o arquivo:

sudo vim /etc/apt/sources.list.d/pgdg.list

E adicione essa linha caso seu sistema seja Debian 7 Wheezy:

deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main

Caso seja Debian 6 Squeeze:

deb http://apt.postgresql.org/pub/repos/apt/ squeeze-pgdg main

Pressione ":wq" para salvar e sair do arquivo pelo Vim e execute esse comando para importar a chave de assinatura do repositório:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql

Essa instalação deve ser feita obviamente em ambos ambientes, no mestre e no escravo, seguimos agora para a configuração do mestre.

    Próxima página

Páginas do artigo
   1. Conceito e instalação
   2. Configurando o mestre e o escravo
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha

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

HowTo: Como criar Cluster Linux - Ativo/Passivo para Postgres com DRBD, Pacemaker e Corosync

Autenticação no PostgreSQL - com exemplos

Pool de Conexões Transparentes no Postgres usando o pgpool

  
Comentários
[1] Comentário enviado por mineirobr em 13/01/2015 - 20:15h

Parabéns, muito bom.

[2] Comentário enviado por jcoli em 15/01/2015 - 10:30h

Muito bom... estou testando.


Jeferson Coli
---------------------
www.tecnocoli.com.br

[3] Comentário enviado por bmarquesm em 14/02/2015 - 22:02h

Uma pergunta: a replicação é em tempo real ou tem um certo tempo até a replicação começar a ser feita? Se sim, isso nao prejudicaria em questões de performance para aplicações com muito processamento no banco de dados?

[4] Comentário enviado por wotan em 17/02/2015 - 00:06h


[3] Comentário enviado por bmarquesm em 14/02/2015 - 22:02h

Uma pergunta: a replicação é em tempo real ou tem um certo tempo até a replicação começar a ser feita? Se sim, isso nao prejudicaria em questões de performance para aplicações com muito processamento no banco de dados?


Não, a replicação é feita em tempo real, o que muda é que, dependendo da quantidade de tempo em que um escravo fique desconectado, sem atualizar (tipo, muuuuuuuuuito tempo mesmo) o servidor mestre pode apagar esse "requerimento", ele ajuda tendo o controle de usuarios escravos para o mestre, tornando mais facil a transmissão e atualização de dados :v


[5] Comentário enviado por alubale em 18/06/2015 - 16:56h

Parabens pelo artigo, funcionou perfeitamente.

[6] Comentário enviado por YanSilva em 27/12/2015 - 20:00h

Olá Wendel, poderia me dar uma ajuda?

Seguinte: segui todos os passos a risca porém na hora de subir o slave, depois da sincronização, ocorre um erro por diferença entre os identificadores de master e do slave. Dei uma pesquisada e concluí que poderia ter sido um erro na hora da sincronização do /etc/postgresql/9.4/main. Então apaguei o diretório completo e sincronizei novamente pra ter certeza que os arquivos seriam realmente os do /etc/postgresql/9.4/main do master. Mesmo assim o erro persiste. Tens alguma ideia do que possa ser? Perdi alguns dias tentando resolver.

Parabéns pelo artigo!

[7] Comentário enviado por williamcmello em 16/01/2016 - 11:38h

Boa tarde,

Eu tenho um Banco de Dados de 220Gigas, eu tenho que copiar o banco para o servidor slave ou ele faz a cópia automaticamente??

Att,


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts