Nós constantemente discutimos isso pelo escritório, e a pergunta continua a surgir. Como você lida com a replicação do PostgreSQL? Não estou necessariamente falando de clusters avançados, apenas simplificando-o com Master-Slave, Master-MultiSlave e Master-Master. Acho que configurá-lo para o MySQL é tipicamente bastante simples. O failover é simples, se não perfeito, especialmente pela facilidade de configuração. Jogamos com o Slony, mas é um pouco prático (as mudanças de esquema requerem intervenção, novos bancos de dados exigem intervenção, etc.). O PGPool2 foi bem legal, até que um nó foi desativado e não conseguimos encontrar uma maneira simples (além de reduzir tudo e re-analisar o nó caído) para obter a replicação novamente em sincronia. Basicamente, aqui está o que estou procurando:
- Configuração fácil (decidirei por uma configuração difícil, mas fácil de expandir)
- Failover simplista
- Trazer um nó caído de volta apenas requer tempo (ou seja, como mysql. O servidor fica inoperante, você o abre e aguarda a replicação)
- Alterações no esquema não interrompem a replicação
- Adicionar um novo banco de dados ao servidor é contínuo (ou seja, como o mysql, você pode replicar um servidor de banco de dados inteiro, para que um novo banco de dados seja criado no mestre, ele se propague automaticamente para o escravo)
O MySQL lida com a maioria deles razoavelmente bem, mas tenho um certo carinho pelo PostgreSQL. Além disso, temos algumas situações em que é nossa única opção e gostaríamos de adicionar replicação ao mix. O que você está usando atualmente e como você se sente sobre sua solução? Este não é um post sobre MySQL versus PostgreSQL, prometo, porque não é isso que estou tentando começar. :)