Versão 9.0 do PostgreSQL permite stream replication
O PostgreSQL 9 introduziu uma nova opção de replicação
assíncrona. Versões anteriores já permitiam
replicações assíncronas em diferentes formatos
utilizando soluções de terceiros como Slony, pgReplicator,
etc.. Muitas destas soluções implicavam em modificações
no desenho da aplicação o que dificultava a sua
implantação. Outro inconveniente era o delay entre
a atualização da base principal e o espelhamento
na base replicada.
Na versão 9 existe a possibilidade da replicação
sem modificação alguma na aplicação
utilizando o recurso de streaming replication que nada mais
é do que a aplicação do log do banco principal
em bancos escravos. Além disso o delay de replicação
é praticamente nulo.
Uma vantagem adicional é que os bancos escravos podem
ser utilizados para aplicações de somente leitura
ajudando assim na distribuição da carga.
A implantação da solução pode ser
feita sem necessidade de indisponibilizar a base principal.
Resumidamente é feita a instalacao do PG 9 no servidor
escravo, copiado a base para o servidor replicado, iniciado
a base replicada informando que ele será escravo da base
principal com determinado endereco IP.
Assim que o PG do servidor replicado inicia é feito
a sincronizacao automática entre os dois servidores.
Assim que um aplicativo faz o commit na base principal ela é
automaticamente espelhada na replicada.