Pular para o conteúdo

Replicando banco de dados PostgreSQL

Nesse artigo será descrito o processo de como fazer replicação de dados PostgreSQL usando a ferramenta Slony. O Slony inclusive suporta múltiplos masters. Também é interessante observar que a replicação de dados através dessa ferramenta pode ser feita entre versão 7 e 8 do PostgreSQL sem problemas, podendo ser usado para migrar os dados da versão 7 para 8 de forma bastante simples.
Rafael Donato rdal
Hits: 71.723 Categoria: Banco de Dados Subcategoria: Postgres
  • Indicar
  • Impressora
  • Denunciar

Instalação

Baixando os fontes do Slony:

# wget -c http://developer.postgresql.org/~wieck/slony1/download/slony1-1.1.5-rc3.tar.bz2

Para compilar o Slony é necessário ter a disposição os fontes da versão do PostgreSQL atualmente instalado. Então para instalar digite o seguinte:

# tar -jxvf slony1-1.1.5-rc3.tar.bz2
# ./configure --with-pgsourcetree=/path/to/source/postgresql-x.y.z/
# gmake all
# gmake install


   1. Instalação
   2. Configurações necessárias
   3. Criando os scripts necessários
   4. Finalizando
Nenhum artigo encontrado.

Criando um banco de dados espacial com PostgreSQL + PostGIS

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

PostgreSQL: SGBDOR

Programando PostgreSQL + PHP

Autenticação no PostgreSQL - com exemplos

#1 Comentário enviado por epgielow em 09/05/2006 - 16:12h
Otimo artigo, parabens!
#2 Comentário enviado por joaocosme em 09/05/2006 - 16:14h
eu vo ter q setar tabela por tabela q ira ser replicada?
#3 Comentário enviado por rdal em 09/05/2006 - 16:28h
à pergunta de joaocosme, sim.
#4 Comentário enviado por rdal em 09/05/2006 - 16:28h
No script é necessário explicitar todas as tabelas que irão participar do processo de replicação. Respondendo à pergunta de joaocosme, sim.
#5 Comentário enviado por kurt3dfx em 03/07/2006 - 14:05h
Pessoal o meu scritp estabelece_comunicacao_replicacao.sh está dando este erro :
<stdin>:43: ERROR: syntax error at or near _EOF_

Alguem sabe me explicar o que pode ser ?
#6 Comentário enviado por kurt3dfx em 03/07/2006 - 14:19h
resolvi hehe coisa de noob mesmo xD

só uma coisa agora
eu tenho um schema public e quando eu monto o script ele cria um _public com umas tabelas lá... o schema não seria o das tabelas ?
#7 Comentário enviado por kurt3dfx em 03/07/2006 - 15:55h
ja consegui tb !!! :DDDDDDDDDDD
#8 Comentário enviado por rdal em 04/07/2006 - 01:49h
Não, ele cria um esquema separado para a replicação.
:)
#9 Comentário enviado por kurt3dfx em 06/07/2006 - 11:48h
cara, como que automatiza isso na inicialização do servidor ? so o script não inicia... tem q ter o slon configurado
#10 Comentário enviado por kurt3dfx em 10/07/2006 - 12:21h
hein rdal, o ./replicacao_start é pra iniciar a replicação independente de dar um slon no console nao é ?? só que ele não inicia
dá uma luz ae :D
tranks
#11 Comentário enviado por diegotolentino em 01/08/2006 - 09:37h
Seu artigo é otimo e estou pensando em utilizalo em detrimento de uns scripts que estou tendo que manter no braço(e apanhando igual cabrito na horta). Agora algumas perguntas

1. a conexão entre o master e o slave é persistente? se sim, não tem como fazer um buffer e executar a replicação em intervalos de tempo (tipo usando o cron)? se for persistente tenho que abrir um handler para cada slave que eu quiser atualizar?

2. fazendo as minhas estruturas corretamente, mantendo um intervalo de primarykey reservadas para cada banco, eu poderia ter update/insert/delete no slave tambem?
#12 Comentário enviado por andersonaa em 30/08/2006 - 12:30h
O que pode ser este erro:
<stdin>:6: Error: namespace "_voipix" already exists in database of node 1
<stdin>:6: ERROR: no admin conninfo for node 134590736
#13 Comentário enviado por diegotolentino em 24/11/2006 - 17:00h
como eu resolveria o problema abaixo, onde devo ir?

<stdin>:6: fe_sendauth: no password supplied
<stdin>:6: ERROR: no admin conninfo for node 134594832
#14 Comentário enviado por diegotolentino em 28/11/2006 - 15:46h
Amigo voce pode me ajudar a resolver o problema abaixo?

isso da quando vou executar o replicacao_start.sh

NOTICE: truncate of "public"."sys_pessoa" failed - doing delete
libgcc_s.so.1 must be installed for pthread_cancel to work
#15 Comentário enviado por celiojs em 09/12/2006 - 19:04h
Muito bom seu artigo!!!!!!
Em partes atende uma necessidade que tenho:
Como eu resolveria o problema de um deles parar e esse problema ficar transparente para a minha aplicação?
Até mais, e parabéns!!!!
Célio
#16 Comentário enviado por juangaray em 03/01/2007 - 10:59h
como eu faço para criar as tabelas? para replicação???
#17 Comentário enviado por eltonramos em 20/08/2007 - 12:26h
A replicação é na hora?
Online?
#18 Comentário enviado por fdmarp em 27/04/2009 - 20:20h
Legal ... deveria haver mais iniciativas de se escrever sobre dicas de postgres
#19 Comentário enviado por aldoarendt em 21/05/2009 - 11:39h
Bom dia a todos quando executo o comando

slon $CLUSTERNAME "dbname=$MASTERDBNAME user=$REPLICATIONUSER host=$MASTERHOST"

2009-05-21 08:37:00 BRT ERROR cannot get sl_local_node_id - ERROR: schema "_teste" does not exist
2009-05-21 08:37:00 BRT FATAL main: Node is not initialized properly - sleep 10 s
#20 Comentário enviado por betolima em 20/08/2010 - 13:49h
qual seria o caminho correto?

--with-pgsourcetree=/path/to/source/postgresql-x.y.z/

path/to/source

não sei o path correto

valeu

Contribuir com comentário

Entre na sua conta para comentar.