terça-feira, 27 de agosto de 2013

(Parte II) Replicação utilizando Slony 2.0.2, PostgreSQL 8.4 e Windows XP SP3 (x86)

No post  passado foi demonstrado a configuração do master e do slave, do Postgres e a configuração do Firewall do Windows. Neste post explicaremos a parte de replicação do banco de dados Postgres.

5.  Replicando o Banco de Dados.

Crie um banco de dados ou utilize um seu já existente no pgAdmin III na máquina Master e depois crie um idêntico na máquina Slave.


PROCEDIMENTOS PARA A MÁQUINA MASTER

Abra o Bloco de Notas e digite as seguintes linhas:

ATENÇÃO!!!!
(No Seu arquivo altere os campos que estão entre “%” e depois apague o símbolo de “%”. Não adicione essa linha!)

 cluster name = %NomedoseuCluster%;  
 node 1 admin conninfo = 'dbname=%NomeDoSeuBancoMaster% host=%IPDaSuaMáquinaMaster% user=%UsuarioDoSeuBancoMaster% password=%SenhaDoSeuBancoMaster%;  
 node 2 admin conninfo = 'dbname=%NomeDoSeuBancoSlave% host=%IPDaSuaMáquinaSlave% user=%UsuarioDoSeuBancoSlave% password=%SenhaDoSeuBancoSlave%;  
 init cluster (id=1, comment='nodo mestre');  
 create set (id=1, origin=1, comment='minhas tabelas');  
 set add table (set id=1, origin=1, id=1, fully qualified name='public.%NomeDeAlgumaTabelaDoSeuBanco%', comment='tabela_cidades');  
 set add table (set id=1, origin=1, id=2, fully qualified name='public. %NomeDeAlgumaTabelaDoSeuBanco%', comment='tabela_estados');  
 store node (id=2, event node=1, comment= 'node escravo');  
 store path (server=1, client=2, conninfo='dbname=%NomeDoSeuBancoMaster% host=%IPDaSuaMáquinaMaster% user=%UsuarioDoSeuBancoMaster% password=%SenhaDoSeuBancoMaster%');  
 store path (server=2, client=1, conninfo='dbname=%NomeDoSeuBancoSlave% host=%IPDaSuaMáquinaSlave% user=%UsuarioDoSeuBancoSlave% password=%SenhaDoSeuBancoSlave%');  
 store listen (origin=1, provider=1, receiver=2);  
 store listen (origin=2, provider=2, receiver=1);  


NO MEU ESTUDO DE CASO FICOU ASSIM


Arquivo Master
Salve o arquivo com o nome “Master”, copie esse arquivo e cole dentro da pasta “bin” do PostgreSQL.

Ex.: C:\Arquivos de programas\PostgreSQL\8.4\bin

Pasta bin.


Feito isso agora vamos criar a replicação:
Abra o Prompt de Comando (cmd) (para sistemas que possuem UAC – Controle de Conta de Usuário abra o Prompt de Comando (cmd) no modo administrador. Ex.: Botão direito do Mouse abrir como administrador).
Sistemas sem UAC – Controle de Conta de Usuário

Abrindo o prompt do windows

Sistema com UAC  - Controle de Conta de Usuario
Aberto o Prompt digite “cd\” não digite as aspas e depois navegue até a pasta utilizando: cd C:\Arquivos de programas\PostgreSQL\8.4\bin se não der certo veja o caminho que seu PostgreSQL está instalado.

Acessando a pasta pelo Prompt.
Feito isso digite o seguinte comando:
slonik Master.txt
Feito isso aparecera as seguintes mensagens:
Mensagem de configurado.
Pronto cluster de replicação criado na máquina Master, o cluster de cada máquina só precisa ser criado uma vez, agora vamos para a máquina Slave.

PROCEDIMENTOS PARA A MÁQUINA SLAVE
Abra o Bloco de Notas e digite as seguintes linhas:

ATENÇÃO!!!
(No Seu arquivo altere os campos que estão entre “%” e depois apague o símbolo de “%”. Não adicione essa linha!)

 cluster name = %NomedoseuCluster%;  
 node 1 admin conninfo = 'dbname=%NomeDoSeuBancoMaster% host=%IPDaSuaMáquinaMaster% user=%UsuarioDoSeuBancoMaster% password=%SenhaDoSeuBancoMaster%;  
 node 2 admin conninfo = 'dbname=%NomeDoSeuBancoSlave% host=%IPDaSuaMáquinaSlave% user=%UsuarioDoSeuBancoSlave% password=%SenhaDoSeuBancoSlave%;  
 subscribe set (id=1, provider=1, receiver=2, forward=yes);  

NO MEU ESTUDO DE CASO FICOU ASSIM

Arquivo subscribe

Salve o arquivo com o nome “Subscribe”, copie esse arquivo e cole dentro da pasta “bin” do PostgreSQL.


Ex.: C:\Arquivos de programas\PostgreSQL\8.4\bin

Adicionar na pasta bin.
Feito isso agora vamos criar a replicação:
Abra o Prompt de Comando (cmd) (para sistemas que possuem UAC – Controle de Conta de Usuário abra o Prompt de Comando (cmd) no modo administrador. Ex.: Botão direito do Mouse abrir como administrador).
Sistemas sem UAC – Controle de Conta de Usuário


Abrindo promtp.
Sistemas com UAC – Controle de Conta de Usuário

Sistemas com UAC - COntrole de Usuario
Aberto o Prompt digite “cd\” não digite as aspas e depois navegue até a pasta utilizando: cd C:\Arquivos de programas\PostgreSQL\8.4\bin se não der certo veja o caminho que seu PostgreSQL está instalado.
Adicionar legenda
Feito isso digite o seguinte comando:

slonik Subscribe.txt

Feito isso não aparecera nenhuma mensagem.
Pronto cluster de replicação criado na máquina Slave, o cluster de cada máquina só precisa ser criado uma vez, agora vamos iniciar o Slony nas máquinas.

6.   Iniciando o Slony-I.

Faça o mesmo procedimento tanto na máquina Master como na Slave

Abra o Prompt de Comando (cmd) (para sistemas que possuem UAC – Controle de Conta de Usuário abra o Prompt de Comando (cmd) no modo administrador. Ex.: Botão direito do Mouse abrir como administrador).
Sistemas sem UAC – Controle de Conta de Usuário

Sistemas com UAC - COntrole de Usuario

Adicionar legenda
Aberto o Prompt digite “cd\” não digite as aspas e depois navegue até a pasta utilizando: cd C:\Arquivos de programas\PostgreSQL\8.4\bin se não der certo veja o caminho que seu PostgreSQL está instalado.

Adicionar legenda
Feito isso digite o seguinte comando:
slon %NomeDoSeuCluster% “dbname=%NomeDoSeuBanco% user=%NomeDoUsuarioDoSeuBanco% password=%SenhaDoSeuBanco%
Na minha Máquina Master e na Slave ficou assim, (pois eu utilizei o mesmo nome do banco tanto para a Máquina Master como para a Slave).

Adicionar legenda
Feito isso aparecera as seguintes mensagens:
Máquina Master.
Máquina Slave
Pronto agora é só fazer alguma alteração no banco Master para ver se replicou corretamente, lembrando que não deve fechar o Prompt pois para fazer a replicação o Slony tem que estar executando. A primeira replicação demora alguns segundos basta esperar, caso utilize functions, triggers ou rules crie elas apenas no banco Master pois apenas as alterações necessitam ser replicadas.



Tutorial Criado por Samuel Coelho de Sá – facebook.com/samuel.scsa
Técnico em Informática CTF-UFPI, Estudante de Análise e Desenvolvimento de Sistemas - IFPI, Guadalupe/Floriano –PI

Nenhum comentário:

Postar um comentário