As seções a seguir abordam como configurar um banco de dados do Cloud SQL para PostgreSQL.
Ativar a replicação lógica
Acesse o Cloud SQL no Google Cloud console.
Abra a instância do Cloud SQL e clique em EDIT.
Acesse a seção Flags.
Clique em ADICIONAR FLAG.
Escolha a flag
cloudsql.logical_decoding
no menu suspenso.Defina o valor da flag como on.
Clique em SALVAR. É necessário reiniciar a instância para atualizar as alterações.
Depois que a instância for reiniciada, confirme as mudanças em Flags do banco de dados, na página Visão geral.
Criar uma publicação e um slot de replicação
Conecte-se ao banco de dados como um usuário com privilégios suficientes para criar um slot de replicação. Caso contrário, execute o seguinte comando:
ALTER USER USER_NAME WITH REPLICATION;
Substitua:
- USER_NAME: o nome do usuário a quem você quer conceder privilégios de replicação.
Crie uma publicação. 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ê 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.
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;
Para criar um slot de replicação, insira o seguinte comando SQL:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');
Substitua:
- REPLICATION_SLOT_NAME: o nome do slot de replicação. Você vai precisar fornecer esse nome ao criar um stream no assistente de criação de streams do Datastream.
Criar um usuário do Datastream
Conecte-se ao banco de dados usando um cliente PostgreSQL.
Digite o seguinte comando do PostgreSQL:
CREATE USER USER_NAME WITH REPLICATION LOGIN PASSWORD 'USER_PASSWORD';
Substitua:
- USER_NAME: o nome do usuário do Datastream que você quer criar.
- USER_PASSWORD: a senha de login do usuário do Datastream que você quer criar.
Conceda os seguintes privilégios ao usuário que você criou:
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 a que 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.