Suporte a Failover para o Oracle GoldenGate com PostgreSQL 17 e versões posteriores

Saiba mais sobre como configurar o failover para o Oracle GoldenGate com o PostgreSQL 17 e versões mais recentes.

O PostgreSQL 17 introduziu suporte para sincronização automática de slots de replicação lógica entre os servidores principal e stand-by. Quando usado com o Oracle GoldenGate, esse recurso permite o failover contínuo dos processos de Extract sem exigir a recriação manual de slots de replicação.

Esse recurso garante a replicação contínua de dados com interrupção mínima durante eventos de failover.

Pré-requisitos para Ativar o Suporte a Failover para o Oracle GoldenGate no PostgreSQL 17 e versões posteriores

Antes de ativar o suporte a failover, verifique o seguinte:

Configurar o Suporte a Failover

Configure o suporte a failover executando as seguintes tarefas nos servidores principal e stand-by PostgreSQL e, em seguida, no Oracle GoldenGate Extract.

  1. Configure os servidores principal e stand-by PostgreSQL.

    No Servidor Principal: Atualize os parâmetros de configuração PostgreSQL:

    wal_level = logical
    max_replication_slots = *sufficient_value*
    sync_replication_slots = on
    synchronized_standby_slots = '*standby_slot_name*'

    No Servidor Stand-by

    Atualize os parâmetros da configuração:

    hot_standby_feedback = on
    primary_slot_name = '*primary_physical_slot*'
  2. Após atualizar a configuração, reinicie o PostgreSQL nos servidores principal e stand-by.

  3. Ativar suporte a slot de failover ao registrar o processo Extract.

    Usando a interface Web do Oracle GoldenGate

    Ao criar o Extract para PostgreSQL, ative a chave de alternância Slots de Replicação de Failover:

    Ative a chave de alternância Slots de Replicação de Failover.

    Usando AdminClient

    REGISTER EXTRACT *extract_name* FAILOVERSLOT;

    Usando a API REST

    POST /services/v2/extracts/AT
    {
        "credentials": {
            "alias": "fail1"
        },
        "registration": "default",
        "failoverSlot": true
    }
  4. Verifique a configuração nos servidores principal e stand-by PostgreSQL:

    No Servidor Principal: Execute a seguinte consulta:

    SELECT slot_name, slot_type, failover
    FROM pg_replication_slots;

    A saída deve mostrar:

    • O tipo de slot é logical

    • failover é definido como true

    No Servidor Stand-by: Execute a seguinte consulta:

    SELECT slot_name, restart_lsn
    FROM pg_replication_slots;

    A saída deve mostrar:

    • O mesmo slot existe no stand-by

    • Os valores LSN estão em andamento

  5. Execute o failover executando as seguintes etapas:

    1. Promova o servidor stand-by para o principal usando o mecanismo de alta disponibilidade configurado.

    2. Atualize a configuração do Extract para estabelecer conexão com o novo banco de dados principal.

    3. Iniciar ou retomar o processo Extract.

    A replicação continua a partir da última posição processada sem exigir reinicialização.

  6. Monitore o status do slot de replicação:

    SELECT slot_name, active, restart_lsn
    FROM pg_replication_slots;

    Verifique o seguinte:

    • O slot está ativo

    • Reiniciar LSN está avançando

    • Sem acumulação excessiva de WAL

  7. A remoção de slots de replicação não utilizados ajuda a evitar a retenção excessiva de WAL e o uso excessivo do disco.

    SELECT pg_drop_replication_slot('*slot_name*');

Melhores Práticas para Configuração de Suporte de Failover

Para configurar o suporte a failover com o Oracle GoldenGate Extract para PostgreSQL, considere as seguintes melhores práticas:

Limitações

Diretrizes Específicas da Nuvem