将 PostgreSQL 数据库 CDC 源添加到事件流(预览版)
本文介绍如何将 PostgreSQL 数据库变更数据捕获 (CDC) 源添加到事件流。
通过用于 Microsoft Fabric 事件流的 Postgre SQL 数据库变更数据捕获 (CDC) 源连接器,你可以捕获 PostgreSQL 数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。 在事件流中捕获更改后,可以实时处理此 CDC 数据,并将其发送到 Fabric 内的不同目标,以进一步处理或分析。
重要
Fabric 事件流的增强功能目前以预览版方式提供。
注意
工作区容量的以下区域不支持此源:美国西部 3、瑞士西部。
先决条件
使用“参与者”或更高权限访问 Fabric 高级工作区。
已在 PostgreSQL 数据库中注册用户访问权限。
你的 PostgreSQL 数据库必须可供公开访问,并且不能位于防火墙后面或在虚拟网络中受到保护。
在 PostgreSQL 数据库和表中启用了 CDC。
如果你具有 Azure Database for PostgreSQL,请按照下一部分中的步骤启用 CDC。 有关详细信息,请参阅逻辑复制和逻辑解码 - Azure Database for PostgreSQL – 灵活服务器。
有关其他 PostgreSQL 数据库,请参阅用于 PostgreSQL 的 Debezium 连接器 :: Debezium 文档。
注意
一个事件流的源和目标的最大数量为 11。
在 Azure Database for PostgreSQL 中启用 CDC
要启用 Azure Database for PostgreSQL 灵活服务器中的 CDC,请执行以下步骤:
在 Azure 门户中 Azure Database for PostgreSQL 灵活服务器页上的导航菜单中,选择“服务器参数”。
在“服务器参数”页上:
- 将 "wal_level" 设置为“逻辑”。
- 将 "max_worker_processes" 更新为至少 "16"。
保存所做的更改并重启服务器。
确认 Azure Database for PostgreSQL 灵活服务器实例允许公用网络流量。
通过运行以下 SQL 语句授予管理员用户复制权限。 如果要使用其他用户帐户连接 PostgreSQL DB 来提取 CDC,请确保用户是表所有者。
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
添加 Azure Database for PostgreSQL CDC 作为源
选择“事件流”以创建新的事件流。 确保已启用“增强功能(预览版)”选项。
在下一个屏幕上,选择“添加外部源”。
配置和连接到 Azure Database for PostgreSQL CDC
在“选择数据源”屏幕上,选择 "Azure DB for PostgreSQL (CDC)"。
在“连接”页上,选择“新建连接”。
在“连接设置”部分中,输入以下信息。
服务器:PostgreSQL 数据库的服务器地址,例如 my-pgsql-server.postgres.database.azure.com。
数据库:数据库名称,例如 my_database。
向下滚动,然后在“连接凭据”部分中,执行以下步骤。
对于“连接名称”,为连接输入名称。
对于“身份验证类型”,选择“基本”。
注意
目前,Fabric 事件流仅支持“基本”身份验证。
输入数据库的“用户名”和“密码”。
选择“连接” 。
现在,在“连接”页上,执行以下步骤:
在“查看并创建”屏幕上,查看摘要,然后选择“添加”。
可以在“编辑模式”下看到添加到事件流的 PostgreSQL 数据库 CDC 源。
要实施这个新添加的 PostgreSQL DB CDC 源,请选择“发布”。 完成这些步骤后,你的 PostgreSQL DB CDC 源可在“实时视图”中进行可视化。
相关内容
其他连接器: