Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Implementar a Recuperação de Desastre entre Regiões para Bancos de Dados PostgreSQL na VM Usando a Replicação Stand-by Física
Introdução
O pg_basebackup
é um utilitário de linha de comando fornecido pelo PostgreSQL para executar o backup completo de um cluster de banco de dados PostgreSQL em execução. Ele foi projetado para criar uma cópia binária do cluster de banco de dados, que pode ser usada para fins de replicação ou recuperação.
pg_basebackup
é um utilitário de linha de comando fornecido pelo PostgreSQL para executar o backup completo de um cluster de banco de dados PostgreSQL em execução. Ele foi projetado para criar uma cópia binária do cluster de banco de dados, que pode ser usada para fins de replicação ou recuperação.
Uma das principais vantagens do utilitário pg_basebackup
é que ele funciona sem exigir acesso ao sistema de arquivos no qual o banco de dados reside. Em vez disso, ele se conecta ao servidor PostgreSQL usando o protocolo de replicação de streaming, tornando-o seguro e conveniente de usar mesmo enquanto o servidor está em execução.
Normalmente usado em conjunto com o arquivamento de log de gravação à frente (WAL), o utilitário pg_basebackup
desempenha um papel crucial na configuração da replicação de streaming e garante alta disponibilidade e recuperação de desastres para ambientes PostgreSQL em execução em Máquinas Virtuais (VM).
Principais recursos:
-
Fácil de usar para configurar servidores stand-by.
-
Suporta backups paralelos para desempenho mais rápido.
-
Permite compactação de backup.
-
Pode incluir arquivos WAL para recuperação pontual.
Este tutorial descreve as tarefas para configurar a replicação de streaming entre regiões entre dois bancos de dados PostgreSQL hospedados em VMs de computação.
Objetivos
- Configure a DR (Recuperação de Desastre) entre regiões do banco de dados PostgreSQL na VM com banco de dados stand-by físico na região de DR.
Pré-requisitos
Crie pareamento de VCN na região. Para estabelecer conexão com as VMs de computação entre regiões, o pareamento de VCN deve ser configurado. Para obter mais informações, consulte:
-
Implementar pareamento de VCN: Pareando VCNs da OCI em Regiões Diferentes Usando o Gateway de Roteamento Dinâmico.
-
Gerenciar DRGs (Dynamic Routing Gateways): Gateways de Roteamento Dinâmico.
Certifique-se de que o pareamento de VCN esteja configurado corretamente para estabelecer conectividade perfeita entre os bancos de dados em diferentes regiões.
Tarefa 1: Configurar o Banco de Dados PostgreSQL Principal
-
Crie o usuário chamado
replicator
no banco de dados PostgreSQL principal.CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD '*********';
-
Valide as funções/usuários.
postgres=# \du List of roles Role name | Attributes | Member of ----------------+------------------------------------------------------------+----------- admin | Superuser | {} guest | | {} mytestdb | | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} replicator | Replication
-
Atualize o arquivo
postgresql.conf
com os detalhes a seguir.listen_addresses = '*'
-
Atualize o arquivo
pg_hba.conf
. Use o endereço IP do banco de dados stand-by.host replication replicator Standby_DB_IP/32 md5
-
Reinicie o serviço PostgreSQL.
sudo systemctl restart PostgreSQL
Tarefa 2: Configurar o Banco de Dados PostgreSQL Stand-by
-
Interrompa o serviço PostgreSQL.
sudo systemctl stop PostgreSQL
-
Remova os binários existentes.
cp -R /var/lib/postgresql/13/main /var/lib/postgresql/13/main_old rm -rf /var/lib/postgresql/13/main
-
Execute o comando
pg_basebackup
para configurar a replicação de streaming.pg_basebackup -h PrimaryDB_IP -D /var/lib/postgresql/13/main -U replicator -P -v -R -X stream -C -S slaveslot1
-
Inicie o serviço PostgreSQL.
sudo systemctl start PostgreSQL
Tarefa 3: Verificar a Replicação de Streaming no Banco de Dados PostgreSQL Principal
Execute o comando a seguir no banco de dados PostgreSQL principal para reunir o status de sincronização entre os bancos de dados principal e de DR.
SELECT * FROM pg_replication_slots;
SELECT * FROM pg_stat_replication;
Confirmações
- Autor - Snehaa Patnaik (Especialista em Implementação de Elevação - Banco de Dados)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Implement Cross Region Disaster Recovery for PostgreSQL Databases on VM Using Physical Standby Replication
G35552-01
Copyright ©2025, Oracle and/or its affiliates.