Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo mostra como adicionar uma origem da captura de dados de alterações do Banco de Dados PostgreSQL (CDA) a um Eventstream.
O conector de origem da captura de dados de alterações (CDA) do Banco de Dados PostgreSQL para fluxos de eventos do Microsoft Fabric permite capturar um instantâneo dos dados atuais em um Banco de Dados PostgreSQL. Atualmente, o CDC (Captura de Dados de Alteração de Banco de Dados postgreSQL) tem suporte nos seguintes serviços em que os bancos de dados podem ser acessados publicamente:
- Banco de Dados do Azure para PostgreSQL
- Amazon RDS para PostgreSQL
- Amazon Aurora PostgreSQL
- SQL do Google Cloud para PostgreSQL
Depois que a fonte CDC do banco de dados PostgreSQL é adicionada ao fluxo de eventos, ela captura alterações no nível da linha nas tabelas especificadas. Essas alterações podem ser processadas em tempo real e enviadas para destinos diferentes para análise posterior.
Pré-requisitos
Acesso a um espaço de trabalho no modo de licença de capacidade do Fabric (ou) no modo de licença de Avaliação com permissões de Colaborador ou superior.
Acesso de usuário registrado no Banco de Dados PostgreSQL.
O Banco de Dados PostgreSQL deve ser publicamente acessível e não estar por trás de um firewall ou protegido em uma rede virtual.
CDA habilitada no Banco de Dados e tabelas PostgreSQL.
Caso tenha o Banco de Dados do Azure para PostgreSQL, siga as etapas na próxima seção para habilitar a CDA. Para obter informações detalhadas, confira Duplicação lógica e decodificação lógica no Banco de Dados do Azure para PostgreSQL – Servidor Flexível.
Para outros bancos de dados PostgreSQL, confira Debezium connector for PostgreSQL :: Debezium Documentation.
Caso não tenha um Eventstream, crie um Eventstream.
Habilitar CDC em seu Banco de Dados PostgreSQL
Esta seção usa o Banco de Dados do Azure para PostgreSQL como exemplo.
Para habilitar o CDA em seu servidor flexível do Banco de Dados do Azure para PostgreSQL, siga essas etapas:
No portal do Azure, na página do servidor flexível do Banco de Dados do Azure para PostgreSQL, selecione Parâmetros do servidor no menu de navegação.
Na página Parâmetros do servidor:
- Defina wal_level para lógico.
- Atualize max_worker_processes para pelo menos 16.
Salve as alterações e reinicie o servidor.
Confirme se a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL permite tráfego de rede pública.
Conceda ao usuário administrador permissões para executar a instrução SQL a seguir. Se você quiser usar outra conta de usuário para conectar o Banco de Dados PostgreSQL para buscar o CDC, verifique se o usuário é o proprietário da tabela.
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
Iniciar o assistente Selecionar uma fonte de dados
Se você ainda não adicionou nenhuma fonte ao fluxo de eventos, selecione o bloco Usar o código-fonte externo .
Se você estiver adicionando a origem a um fluxo de eventos já publicado, alterne para modo de edição. Na faixa de opções, selecione Adicionar origem>Fontes externas.
Na página Selecionar uma fonte de dados, procure e selecione Conectar no bloco PostgreSQL DB (CDC).
Configurar e conectar-se ao CDC do Banco de Dados PostgreSQL
Na página Conectar, selecione Nova conexão.
Na seção Configurações de conexão, insira as informações a seguir.
Servidor: o endereço do servidor do seu Banco de Dados PostgreSQL, por exemplo my-pgsql-server.postgres.database.azure.com.
Banco de dados: o nome do banco de dados, por exemplo my_database.
Nome da conexão: insira um nome para a conexão.
Tipo de autenticação, selecione Básico e insira seu nome de usuário e senha para o banco de dados.
Observação
Atualmente, os fluxos de eventos do Fabric dão suporte apenas à autenticação Básica .
Selecione Conectar para concluir as configurações de conexão.
Porta: insira o número da porta do servidor. O valor padrão é 5432. Se a conexão de nuvem selecionada estiver configurada em Gerenciar conexões e gateways, certifique-se de que o número da porta corresponda ao configurado lá. Se eles não corresponderem, o número da porta na conexão de nuvem em Gerenciar conexões e gateways terá precedência.
Você pode escolher entre duas opções ao capturar alterações de tabelas de banco de dados:
- Todas as tabelas: capturar alterações de todas as tabelas do banco de dados.
-
Insira os nomes da tabela: permite que você especifique um subconjunto de tabelas usando uma lista separada por vírgulas. Você pode usar: identificadores de tabela completos no formato
schemaName.tableNameou expressões regulares válidas. Exemplos: -
dbo.test.*: selecione todas as tabelas cujostestnomes começam nodboesquema. -
dbo\.(test1|test2): Selecionedbo.test1edbo.test2.
Você pode combinar os dois formatos na lista. O limite total de caracteres para toda a entrada é de 102.400 caracteres .
Nome do slot (opcional): Insira o nome do slot de decodificação lógica do PostgreSQL criado para o streaming de alterações de um plug-in específico para um banco de dados/esquema específico. O servidor utiliza este slot para transferir eventos para o conector de streaming Eventstream. Ele deve conter apenas letras minúsculas, números e sublinhados.
- Caso não seja especificado, um GUID será utilizado para criar o slot, sendo necessário ter as permissões adequadas no banco de dados.
- Se houver um nome de slot especificado, o conector o usará diretamente.
Você pode expandir as configurações avançadas para acessar mais opções de configuração para a origem CDC do Banco de Dados PostgreSQL:
Nome da publicação: especifica o nome da publicação de replicação lógica postgreSQL a ser usada. Isso deve corresponder a uma publicação existente no banco de dados ou será criada automaticamente dependendo do modo de preenchimento automático. Valor padrão:
dbz_publication.Observação
O usuário do conector deve ter privilégios de administrador para criar a publicação. Recomenda-se criar a publicação manualmente antes de iniciar o conector pela primeira vez, para evitar problemas relacionados a permissões.
Modo de criação automática de publicação: controla se e como a publicação é criada automaticamente. As opções incluem:
-
Filtered(padrão): se a publicação especificada não existir, o conector criará uma que inclua apenas as tabelas selecionadas (conforme especificado na lista de inclusão da tabela). -
AllTables: se a publicação especificada existir, o conector a usará. Se ele não existir, o conector criará um que inclui todas as tabelas do banco de dados. -
Disabled: o conector não cria uma publicação. Se a publicação especificada estiver ausente, o conector gerará uma exceção e irá parar. Nesse caso, a publicação deve ser criada manualmente no banco de dados.
Para obter mais informações, consulte a documentação do Debezium sobre o modo de criação automática de publicação
-
Modo de tratamento decimal: Especifica como o conector lida com
DECIMALe valores de colunaNUMERICPostgreSQL:-
Precise: representa valores usando tipos decimais exatos (por exemplo, JavaBigDecimal) para garantir a precisão total e a precisão na representação de dados. -
Double: converte valores em números de ponto flutuante de precisão dupla. Isso melhora a usabilidade e o desempenho, mas pode resultar em uma perda de precisão. -
String: codifica valores como cadeias de caracteres formatadas. Isso facilita o consumo em sistemas downstream, mas perde informações semânticas sobre o tipo numérico original.
-
Modo de instantâneo: especifique os critérios para executar um instantâneo quando o conector for iniciado:
-
Initial: O conector executa um instantâneo somente quando nenhum offset foi registrado para o nome do servidor lógico ou se ele detecta que um instantâneo anterior não foi concluído. Após a conclusão do instantâneo, o conector começa a transmitir registros de eventos para alterações subsequentes no banco de dados. -
InitialOnly: O conector executa um instantâneo apenas quando nenhum deslocamento foi registrado para o nome do servidor lógico. Depois que o instantâneo for concluído, o conector para. Ele não faz a transição para streaming para ler eventos de alteração do binlog. -
NoData: o conector executa um instantâneo que captura apenas o esquema, mas não qualquer dado de tabela. Especifique esta opção se não precisar de um instantâneo consistente dos dados, mas apenas das alterações que ocorreram desde o início do conector.
-
Consulta de batimento cardíaco: especifica uma consulta que o conector executa no banco de dados de origem ao enviar uma mensagem de batimento cardíaco.
Substituição da instrução de SELECT de instantâneo: especifica as linhas da tabela a serem incluídas em um instantâneo. Use essa propriedade se você quiser que um instantâneo inclua apenas um subconjunto das linhas em uma tabela. Essa propriedade afeta somente instantâneos. Ele não se aplica a eventos que o conector lê do log.
Na página Revisar e conectar, examine o resumo e selecione Adicionar.
Exibir o Eventstream atualizado
Você pode ver a origem da CDA do Banco de Dados PostgreSQL adicionada ao Eventstream no Modo de edição.
Para implementar essa origem recém-adicionada da CDA do BD para PostgreSQL, selecione Publicar. Depois de concluir essas etapas, a origem da CDA do BD para PostgreSQL estará disponível para visualização na Exibição ao vivo.
Conteúdo relacionado
Outros conectores:
- Fluxos de dados do Amazon Kinesis
- Azure Cosmos DB
- Hubs de eventos do Azure
- Barramento de Serviço do Azure
- Hub IoT do Azure
- Captura de dados de alterações (CDA) com o Banco de Dados SQL do Azure
- Kafka para Confluent
- Ponto de extremidade personalizado
- Pub/Sub do Google Cloud
- CDA do Banco de Dados MySQL
- CDA do Banco de dados PostgreSQL
- Dados de amostra
- Eventos de Armazenamento de Blobs do Azure
- Evento de espaço de trabalho do Fabric