Esta página descreve como configurar a captura de dados de alterações (CDC) para transmitir dados de uma base de dados Amazon RDS for PostgreSQL para um destino suportado, como o BigQuery ou o Cloud Storage.
Crie um grupo de parâmetros
Inicie o painel de controlo do Amazon RDS.
No painel de navegação, clique em Grupos de parâmetros e, de seguida, em Criar grupo de parâmetros. É apresentada a página Criar grupo de parâmetros.
Selecione a família de bases de dados que corresponde à sua base de dados, indique um nome e uma descrição para o grupo de parâmetros e, de seguida, clique em Criar.
Selecione a caixa de verificação à esquerda do grupo de parâmetros recém-criado e, de seguida, em Ações do grupo de parâmetros, clique em Editar.
Defina o seguinte parâmetro para o seu grupo.
Parâmetro Valor rds.logical_replication 1
Clique em Guardar alterações.
Configure a base de dados de origem
Inicie o painel de controlo do Amazon RDS.
No menu de navegação, clique em Bases de dados.
Selecione a origem e, de seguida, clique em Modificar.
Aceda à secção Configuração adicional.
Selecione o grupo de parâmetros que criou.
Clique em Continuar.
Em Agendamento de modificações, selecione Aplicar imediatamente.
Verifique se o grupo de parâmetros está atribuído à instância da base de dados
Inicie o painel de controlo do Amazon RDS.
No menu de navegação, clique em Bases de dados e, de seguida, selecione a instância da base de dados.
Clique no separador Configurações.
Verifique se vê o grupo de parâmetros que criou e se o respetivo estado é pending-reboot.
Reinicie a instância de base de dados para concluir a configuração. Para reiniciar a instância:
- No menu de navegação, clique em Instâncias.
- Selecione a instância de base de dados.
- No menu Ações da instância, selecione Reiniciar.
Crie uma publicação e um espaço de replicação
Crie uma publicação. Recomendamos que crie uma publicação apenas para as tabelas que quer replicar. Isto permite que o Datastream leia apenas os dados relevantes e reduz a carga na base de dados e no Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
Substitua o seguinte:
- PUBLICATION_NAME: o nome da sua publicação. Tem de indicar este nome quando criar uma stream no assistente de criação de streams de streams de dados.
- SCHEMA: o nome do esquema que contém a tabela.
- TABLE: o nome da tabela que quer replicar.
Também pode criar uma publicação para todas as tabelas na sua base de dados. Tenha em atenção que esta abordagem aumenta a carga na base de dados de origem e no Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
Crie um espaço de replicação introduzindo o seguinte comando do PostgreSQL:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');
Substitua o seguinte:
- REPLICATION_SLOT_NAME: o nome da sua ranhura de replicação. Tem de indicar este nome quando criar uma stream no assistente de criação de streams de streams de dados.
Crie um utilizador da stream de dados
Para criar um utilizador do Datastream, introduza o seguinte comando do PostgreSQL:
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
Substitua o seguinte:
- USER_NAME: O nome do utilizador do fluxo de dados que quer criar.
- USER_PASSWORD: a palavra-passe de início de sessão do utilizador do fluxo de dados que quer criar.
Conceda os seguintes privilégios ao utilizador que 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 o seguinte:
- USER_NAME: o utilizador ao qual quer conceder os privilégios.
- SCHEMA_NAME: o nome do esquema ao qual quer conceder os privilégios.
O que se segue?
- Saiba mais sobre como o Datastream funciona com origens PostgreSQL.