共用方式為


將 Postgre SQL 資料庫 CDC 來源新增至 Eventstream

本文說明如何將 Postgre SQL 資料庫 異動資料擷取 (CDC) 來源新增至 Eventstream。

適用於 Microsoft Fabric 事件串流的 PostgreSQL 資料庫異動資料擷取 (CDC) 來源連接器,讓您擷取 PostgreSQL 資料庫中目前資料的快照。 目前,PostgreSQL 資料庫異動數據擷取 (CDC) 支援下列服務,其中可以公開存取資料庫:

  • 適用於 PostgreSQL 的 Azure 資料庫
  • Amazon RDS for PostgreSQL
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL for PostgreSQL

將 PostgreSQL 資料庫 CDC 來源新增至事件數據流之後,它會擷取指定數據表的數據列層級變更。 然後,這些變更可以實時處理,並傳送到不同的目的地,以進行進一步分析。

注意

工作區容量的下列區域不支援此來源: 美國西部 3瑞士西部

必要條件

在 PostgreSQL 資料庫中啟用 CDC

本節使用適用於 PostgreSQL 的 Azure 資料庫 作為範例。

若要在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中啟用 CDC,請依照這些步驟進行:

  1. 在 Azure 入口網站中的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器頁面上,選取導覽功能表中的伺服器參數

  2. 在 [ 伺服器參數] 頁面上:

    • wal_level 設定為 logical
    • max_worker_processes 更新為至少 16

    為彈性伺服器部署啟用 CDC 的螢幕擷取畫面。

  3. 儲存變更並重新啟動伺服器。

  4. 確認您的 Azure Database for PostgreSQL 彈性伺服器執行個體允許公用網路流量。

  5. 執行下列 SQL 語句, 以授與系統管理員用戶 復寫權限。 如果您要使用其他使用者帳戶來連線 PostgreSQL DB 來擷取 CDC,請確定使用者是 資料表擁有者

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

啟動選取數據源精靈

如果您尚未將任何來源新增至事件串流,請選取 [ 使用外部來源 ] 圖格。

顯示選取 [使用外部來源] 圖磚的螢幕快照。

如果您要將來源新增至已發行的事件串流,請切換至 [編輯 模式],選取 功能區上的 [新增來源 ],然後選取 [ 外部來源]。

顯示 [將來源新增至外部來源] 功能選取項目的螢幕快照。

在 [選取資料來源] 頁面上,搜尋 [PostgreSQL DB (CDC)] 圖格,然後選取其中的 [Connect]。

此螢幕截圖顯示在 [取得事件精靈] 中選取 [Azure DB for PostgreSQL (CDC)] 作為來源類型。

設定並連線到 PostgreSQL 資料庫 CDC

  1. 連線頁面上,選取新增連線

    此螢幕擷取畫面顯示 Azure PostgreSQL 資料庫的 [連線] 頁面,其中醒目提示 [新增連線] 連結。

  2. 連線設定區段中,輸入下列資訊。

    • 伺服器:PostgreSQL 資料庫的伺服器位址,例如 my-pgsql-server.postgres.database.azure.com

    • 資料庫:資料庫名稱,例如 my_database

      顯示 Azure PostgreSQL 資料庫連接器之 [連線設定] 區段的螢幕擷取畫面。

  3. 向下卷動,然後在 [ 連線認證 ] 區段中,遵循下列步驟。

    1. 對於連線名稱,請輸入連線的名稱。

    2. 針對 [ 驗證種類],選取 [ 基本]。

      注意

      目前,Fabric 事件串流僅支援基本身份驗證。

    3. 輸入資料庫的使用者名稱密碼

    4. 選取 Connect

      此螢幕擷取畫面顯示 Azure PostgreSQL 資料庫連接器的 [連線認證] 區段。

  4. 現在,在 [ 連線] 頁面上,執行下列步驟:

    1. 針對 [ ],輸入埠號碼或保留預設值:5432。 如果您在 管理連線和閘道中設定選取的雲端連線,請確定埠號碼符合該處設定的埠號碼。 如果兩者不相符,管理連線和閘道中的雲端連線埠號碼會具有優先權

    2. 針對 資料表,請選取 [所有資料表][輸入資料表名稱]。 如果您選取後者,請使用完整資料表標識碼 (schemaName.tableName) 或有效正則表達式的逗號分隔清單來指定資料表。 例如:

      • 使用 dbo.test.* 來選取名稱開頭為 dbo.test的所有數據表。
      • 使用 dbo\.(test1|test2) 來選取 dbo.test1dbo.test2。 您可以輸入最多 100 個數據表,而且每個數據表名稱(包括架構)最多可以有 128 個字元。

      您可以使用逗號來混合這兩種格式。 最多可以輸入 100 個數據表,如果直接使用完整數據表標識碼,每個數據表名稱(包括架構名稱)限制為 128 個字元。

    3. 槽位名稱(選擇性):輸入為特定資料庫/架構中特定外掛程式變更而建立的 PostgreSQL 邏輯解碼槽的名稱。 伺服器會使用此位置將事件串流至 Eventstream 串流連接器。 它只能包含小寫字母、數位和底線。

      • 如果未指定,則會使用 GUID 來建立槽位,需要適當的資料庫許可權。
      • 如果指定的槽名稱存在,連接器會直接使用它。
    4. 請選取頁面底部的下一步

      此螢幕擷取畫面顯示已填入 Azure PostgreSQL 資料庫連接器的 [連線] 頁面。

  5. 在 [ 檢閱 + 連線 ] 頁面上,檢閱摘要,然後選取 [ 新增]。

    此螢幕擷取畫面顯示已填入 Azure PostgreSQL 資料庫連接器的 [檢閱和建立] 頁面。

注意

一個 Eventstream 的來源和目的地數目上限為 11

檢視更新的事件串流

  1. 您可以在編輯模式中看到 Postgre SQL 資料庫 CDC 來源新增至 Eventstream。

    在 [編輯] 檢視中串流 PostgreSQL DB CDC 來源的螢幕擷取畫面。

  2. 若要實作這個新增的 PostgreSQL DB CDC 來源,請選取 [ 發佈]。 完成這些步驟之後,PostgreSQL DB CDC 來源可在即時檢視中提供視覺效果。

    在 [即時] 檢視中串流 PostgreSQL DB CDC 來源的螢幕擷取畫面。

其他連接器: