Configurar um banco de dados PostgreSQL do Amazon Aurora

O streaming de atualizações de captura de dados alterados (CDC) de um banco de dados PostgreSQL do Amazon Aurora para o BigQuery, o Cloud Storage ou outro destino compatível exige replicação lógica no cluster de origem. Para preparar o banco de dados para o Datastream, configure um grupo de parâmetros de cluster, crie uma publicação e um slot de replicação e configure um usuário do Datastream.

Antes de começar, verifique se você tem um cluster do Amazon Aurora e se está conectado ao endpoint gravador do servidor de banco de dados principal.

Criar um grupo de parâmetros

  1. Inicie seu painel do Amazon RDS.
  2. Na Gaveta de navegação, clique em Grupos de parâmetros e, em seguida, em Criar grupo de parâmetros. A página Criar grupo de parâmetros é exibida.
  3. Use a tabela a seguir para preencher os campos desta página e clique em Criar:
    CampoDescrição
    Família de grupos de parâmetrosSelecione a família correspondente ao seu banco de dados.
    TipoSelecione o grupo de parâmetros do cluster do banco de dados.
    Nome do grupoDê um nome ao grupo de parâmetros.
    DescriçãoForneça uma descrição do grupo de parâmetros.
  4. Marque a caixa de seleção à esquerda do grupo de parâmetros recém-criado e, em Ações do grupo de parâmetros, clique em Editar.
  5. Mude o valor do parâmetro rds.logical_replication para 1.
  6. Clique em Salvar alterações.

Atribuir o grupo de parâmetros à instância do banco de dados

  1. Inicie seu painel do Amazon RDS.
  2. Na Gaveta de navegação, clique em Bancos de dados e selecione a sua instância do banco de dados.
  3. No menu Ações da instância, selecione Modificar. A caixa de diálogo Modificar instância de banco de dados aparece.
  4. Na seção Configuração adicional, selecione o grupo de parâmetros do cluster de banco de dados que você criou.
  5. Defina o Período de retenção do backup como 7 dias.
  6. Clique em Continuar.
  7. No painel Programação de modificações, selecione a opção Aplicar imediatamente.

Reinicializar a instância do banco de dados

  1. Inicie seu painel do Amazon RDS.
  2. Na Gaveta de navegação, clique em Bancos de dados e selecione a sua instância do banco de dados.
  3. No menu suspenso Ações, selecione Reinicializar e Confirmar.

Criar uma publicação e um slot de replicação

  1. Crie uma publicação para as mudanças nas tabelas que você quer replicar. Recomendamos que você crie uma publicação apenas para as tabelas que quer replicar. Isso permite que o Datastream leia apenas os dados relevantes e reduz a carga no banco de dados e no Datastream:

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;

    Substitua:

    • PUBLICATION_NAME: o nome da sua publicação. Você precisará fornecer esse nome ao criar um stream no assistente de criação de streams do Datastream.
    • SCHEMA: o nome do esquema que contém a tabela.
    • TABLE: o nome da tabela que você quer replicar.

    Também é possível criar uma publicação para todas as tabelas no seu banco de dados. Essa abordagem aumenta a carga no banco de dados de origem e no Datastream:

    CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
    
  2. Crie um slot de replicação inserindo o seguinte comando do PostgreSQL:

    SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');

    Substitua:

    • REPLICATION_SLOT_NAME: o nome do seu slot de replicação. Você precisará fornecer esse nome ao criar um stream no assistente de criação de streams do Datastream.

Criar um usuário do Datastream

  1. Para criar um usuário do Datastream, digite o seguinte comando do PostgreSQL:

    CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';

    Substitua:

    • USER_NAME: o nome do usuário do Datastream que você quer criar.
    • USER_PASSWORD: a senha do usuário do Datastream que você quer criar.
  2. Conceda os seguintes privilégios ao usuário que você criou:

    GRANT RDS_REPLICATION TO USER_NAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME
      GRANT SELECT ON TABLES TO USER_NAME;
    

    Substitua:

    • SCHEMA_NAME: o nome do esquema ao qual você quer conceder os privilégios.
    • USER_NAME: o usuário a quem você quer conceder os privilégios.

A seguir