Observação:

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:

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

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:

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

  1. Crie o usuário chamado replicator no banco de dados PostgreSQL principal.

    CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD '*********';
    
  2. 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  
    
  3. Atualize o arquivo postgresql.conf com os detalhes a seguir.

    listen_addresses = '*'
    
  4. 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
    
  5. Reinicie o serviço PostgreSQL.

    sudo systemctl restart PostgreSQL
    

Tarefa 2: Configurar o Banco de Dados PostgreSQL Stand-by

  1. Interrompa o serviço PostgreSQL.

    sudo systemctl stop PostgreSQL
    
  2. 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
    
  3. 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 
    
  4. 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

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.