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