Configurar um banco de dados PostgreSQL do Amazon Aurora

As seções a seguir abordam como configurar um banco de dados PostgreSQL do Amazon Aurora.

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 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 BD é exibida.
  4. Na seção Configuração adicional, selecione o grupo de parâmetros do cluster do 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.

Reiniciar 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 instância do banco de dados.
  3. No menu suspenso Ações, selecione Reiniciar e depois 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. Qa crie uma publicação somente para as tabelas que quiser replicar. Isso permite que o Datastream leia apenas os dados relevantes e reduza 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ê precisa 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.

    É possível criar uma publicação para todas as tabelas em um esquema. Essa abordagem permite replicar mudanças em tabelas na lista especificada de esquemas, incluindo tabelas que você criar no futuro:

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLES IN SCHEMA1, SCHEMA2;

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

    CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
    
  2. Para criar um slot de replicação, digite o seguinte comando do PostgreSQL:

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

    Substitua:

    • REPLICATION_SLOT_NAME: o nome do slot de replicação. Você precisa 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 que você quer conceder os privilégios.
    • USER_NAME: o usuário a quem você quer conceder privilégios.

A seguir