在实时中心添加 PostgreSQL 数据库 CDC 作为源

本文介绍如何在 Fabric 实时中心中添加 PostgreSQL 数据库变更数据捕获 (CDC) 作为事件源。

通过用于 Microsoft Fabric 事件流的 Postgre SQL 数据库变更数据捕获 (CDC) 源连接器,你可以捕获 PostgreSQL 数据库中当前数据的快照。 然后,连接器将监视并记录对此数据进行的任何未来的行级别更改。

先决条件

注意

不支持多个表 CDC。

在 Azure Database for PostgreSQL 中启用 CDC

要在 Azure Database for PostgreSQL 中启用 CDC,请根据部署类型执行以下步骤。

Azure Database for PostgreSQL 单一服务器

  1. 转到 Azure 门户上的“复制”页。

  2. 将复制规则更改为“逻辑”

    为单个服务器部署启用 CDC 的屏幕截图。

Azure Database for PostgreSQL 灵活服务器

  1. 在 Azure 门户中 Azure Database for PostgreSQL 灵活服务器页上的导航菜单中,选择“服务器参数”

  2. 在“服务器参数”页上:

    • 将 "wal_level" 设置为“逻辑”

    • 将 "max_worker_processes" 更新为至少 "16"

      为灵活服务器部署启用 CDC 的屏幕截图。

  3. 保存所做的更改并重启服务器。

  4. 确认 Azure Database for PostgreSQL 灵活服务器实例允许公用网络流量。

  5. 通过运行以下 SQL 语句授予管理员用户复制权限。

    ALTER ROLE <admin user> WITH REPLICATION;
    

从 Azure Database for PostgreSQL CDC 获取事件

可以通过以下方法之一将事件从 Azure Database for PostgreSQL CDC 获取到实时中心:

数据源页面

  1. 登录 Microsoft Fabric

  2. 选择左侧导航栏上的“实时”

  3. 在“实时中心”页上,选择左侧导航菜单上“连接到”下的“+ 数据源”。 还可以从“所有数据流”或“我的数据流”页面访问“数据源”页,方法是选择右上角的“+ 连接数据源”按钮。

    显示如何启动“连接到数据源体验”的屏幕截图。

  1. 在“数据源”页中,选择“Microsoft源”类别,然后在“Azure DB for PostgreSQL (CDC)”磁贴上选择“连接”。

    显示在“数据源”页中选择 Azure Database (DB) for PostgreSQL (CDC) 作为源类型的屏幕截图。

    使用“添加 PostgreSQL 数据库 CDC 作为源”部分中的说明。

“Microsoft 源”页

  1. 在实时中心,选择“Microsoft 源”

  2. 在“源”下拉列表中,选择“PostgreSQL 数据库 (CDC)”

  3. 对于“订阅”,选择具有 PostgreSQL 数据库帐户资源组的 Azure 订阅

  4. 对于“资源组”,选择具有数据库的资源组

  5. 对于“区域”,选择数据库所在的位置。

  6. 现在,将鼠标移在要连接到数据库列表中的实时中心的 PostgreSQL Database CDC 源名称上,并选择“连接”按钮,或选择 "..."(省略号),然后选择“连接”按钮。

    显示“Microsoft 源”页的屏幕截图,其中包含用于显示 Azure PostgreSQL CDC 和连接按钮的筛选器。

    若要配置连接信息,请使用“添加 Azure Database for PostgreSQL CDC 作为源”部分中的步骤

添加 Azure Database for PostgreSQL CDC 作为源

  1. 在“连接”页上,选择“新建连接”

    显示 Azure PostgreSQL 数据库的“连接”页的屏幕截图,其中突出显示了“新建连接”链接。

    如果有到 Azure Database for PostgreSQL CDC 源的现有连接,可以从“连接”下拉列表中选择它,然后继续配置端口和表。

    显示已选择现有连接的“连接”页的屏幕截图。

  2. 在“连接设置”部分中,输入以下信息。

    • 服务器:PostgreSQL 数据库的服务器地址,例如 my-pgsql-server.postgres.database.azure.com

    • 数据库:数据库名称,例如 my_database

      显示 Azure PostgreSQL 数据库连接器的“连接设置”部分的屏幕截图。

  3. 向下滚动,然后在“连接凭据”部分中,执行以下步骤。

    1. 对于“连接名称”,为连接输入名称。

    2. 对于“身份验证类型”,选择“基本”

      注意

      目前,Fabric 事件流仅支持“基本”身份验证。

    3. 输入数据库的“用户名”和“密码”

    4. 选择“连接” 。

      显示 Azure PostgreSQL 数据库连接器的“连接凭据”部分的屏幕截图。

  4. 现在,在“连接”页上,执行以下步骤:

    1. 对于“表”,输入表名称。

    2. 对于“端口”,输入端口号或保留默认值:5432。

    3. 对于“事件流名称”,输入事件流的名称。 该向导会创建一个事件流,其中所选 PostgreSQL 数据库 CDC 作为源。

    4. “流名称”是通过将 -stream 追加到事件流的名称中自动为你生成的。 向导完成后,此流会显示在“所有数据流”页上。

    5. 选择页面底部的“下一步”。

      显示为 Azure PostgreSQL 数据库连接器填充了“连接”页的屏幕截图。

  5. 在“查看 + 连接”页上,查看摘要,然后选择“连接”

    显示为 Azure PostgreSQL 数据库连接器填充的“查看 + 连接”页的屏幕截图。

查看数据流详细信息

  1. 在“查看 + 连接”页上,如果选择“打开 Eventstream”,向导会打开它创建的 Eventstream,并将选定的 PostgreSQL 数据库 CDC 作为源。 若要关闭向导,请在页面底部选择“完成”。

    显示“查看 + 连接”成功页的屏幕截图。

  2. 在“实时中心”选择“我的数据流”。 若要查看新的数据流,请刷新页面。

    显示实时中心“我的数据流”页的屏幕截图,该页面包含基于 PostgreSQL 数据库 CDC 源的流。

若要了解有关使用数据流的信息,请参阅以下文章: