wils@web ~ $ cat ~/ajuda/como-configurar-o-postgresql-15-para-alta-disponibilidade-usando-patroni.md
Banco de DadosComo configurar o PostgreSQL 15 para alta disponibilidade usando Patroni
O PostgreSQL é um dos sistemas de gerenciamento de banco de dados mais populares, e a alta disponibilidade é crucial para aplicações críticas. Neste manual, vamos configurar o PostgreSQL 15 para alta disponibilidade usando o Patroni.
Pré-requisitos
- Três ou mais servidores com PostgreSQL 15 instalado.
- Python 3 e pip instalados.
- Etcd ou Consul para o armazenamento de configuração.
- Firewall configurado para permitir comunicação entre os nós.
Instalação do Patroni
Primeiro, instale o Patroni em cada servidor:
pip install patroni[etcd]
Configuração do Etcd
Instale e inicie o Etcd:
sudo apt-get install etcd
sudo systemctl start etcd
sudo systemctl enable etcd
Configuração do Patroni
Crie um arquivo de configuração do Patroni em cada nó, por exemplo, /etc/patroni.yml:
scope: my_cluster
name: node1
rest:
listen: 0.0.0.0:8008
connect_address: node1_ip:8008
etcd:
host: etcd_ip:2379
bootstrap:
dcs:
ttl: 30
loop_wait: 10
retry_timeout: 10
maximum_lag_on_failover: 1048576
initdb:
- encoding: UTF8
- locale: en_US.UTF-8
pg_hba: |
host all all 0.0.0.0/0 md5
users:
admin:
password: admin_password
options:
- superuser
- createdb
postgresql:
listen: 0.0.0.0:5432
connect_address: node1_ip:5432
data_dir: /var/lib/postgresql/15/main
bin_dir: /usr/lib/postgresql/15/bin
authentication:
replication:
username: replicator
password: replicator_password
superuser:
username: postgres
password: postgres_password
Iniciar o Patroni
Inicie o Patroni em cada nó:
patroni /etc/patroni.yml
Verificação do Cluster
Para verificar o status do cluster, use:
curl http://node1_ip:8008/patroni
Conclusão
Com o Patroni configurado, você terá um cluster PostgreSQL de alta disponibilidade. Lembre-se de monitorar o desempenho e ajustar a configuração conforme necessário.
Dica: Considere implementar backups regulares e testes de failover para garantir a resiliência do seu sistema.
Precisa de ajuda com isso no seu servidor? A gente resolve pra você.
falar no WhatsApp →// deu erro ou não funcionou?
Achou algo errado neste manual?
Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.