Pular para o conteúdo

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.
Wendel wotan
Hits: 14.899 Categoria: Banco de Dados Subcategoria: Postgres
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Conceito e instalação
   2. Configurando o mestre e o escravo
Nenhum artigo encontrado.

Monitorando Banco de Dados Postgres com ZABBIX

Vacuum - otimizando sua base de dados PostgreSQL

PostgreSQL: comandos básicos

PostgreSQL - Instalação inicial no Debian Wheezy 64 bits

Partição de tabelas no PostgreSQL

#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

Entre na sua conta para comentar.