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
- Inicie seu painel do Amazon RDS.
- 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.
- Use a tabela a seguir para preencher os campos desta página e clique em Criar:
Campo Descrição Família de grupos de parâmetros Selecione a família correspondente ao seu banco de dados. Tipo Selecione o grupo de parâmetros do cluster do banco de dados. Nome do grupo Dê um nome ao grupo de parâmetros. Descrição Forneça uma descrição do grupo de parâmetros. - 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.
- Mude o valor do parâmetro
rds.logical_replicationpara 1. - Clique em Salvar alterações.
Atribuir o grupo de parâmetros à instância do banco de dados
- Inicie seu painel do Amazon RDS.
- Na Gaveta de navegação, clique em Bancos de dados e selecione a sua instância do banco de dados.
- No menu Ações da instância, selecione Modificar. A caixa de diálogo Modificar instância de banco de dados aparece.
- Na seção Configuração adicional, selecione o grupo de parâmetros do cluster de banco de dados que você criou.
- Defina o Período de retenção do backup como 7 dias.
- Clique em Continuar.
- No painel Programação de modificações, selecione a opção Aplicar imediatamente.
Reinicializar a instância do banco de dados
- Inicie seu painel do Amazon RDS.
- Na Gaveta de navegação, clique em Bancos de dados e selecione a sua instância do banco de dados.
- No menu suspenso Ações, selecione Reinicializar e Confirmar.
Criar uma publicação e um slot de replicação
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;
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
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.
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
- Saiba mais sobre como o Datastream funciona com fontes do PostgreSQL.