次の方法で共有


イベントストリームに PostgreSQL データベース CDC ソースを追加

この記事では,PostgreSQL データベースの変更データキャプチャ (CDC) ソースをイベントストリームに追加する方法を説明します。

Microsoft Fabric イベント ストリームの PostgreSQL データベース 変更 データ キャプチャ (CDC) ソース コネクタは、PostgreSQL データベースの現在のデータのスナップショットをキャプチャすることができます。 現在、PostgreSQL データベース変更データ キャプチャ (CDC) は、データベースにパブリックにアクセスできる次のサービスからサポートされています。

  • Azure Database for PostgreSQL
  • Amazon RDS for PostgreSQL
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL for PostgreSQL

PostgreSQL データベース CDC ソースがイベントストリームに追加されると、指定したテーブルに対する行レベルの変更がキャプチャされます。 その後、これらの変更をリアルタイムで処理し、別の宛先に送信して詳細な分析を行うことができます。

このソースは、ワークスペース容量の次のリージョンではサポートされていません: 米国西部 3スイス西部

前提条件

PostgreSQL データベースで CDC を有効にする

このセクションでは、 Azure Database for PostgreSQL を例として使用します。

Azure Database for PostgreSQL フレキシブル サーバーで CDC を有効にするには、次の手順に従います。

  1. Azure portal の Azure Database for PostgreSQL フレキシブル サーバー ページで、ナビゲーション メニューの [サーバー パラメーター] を選択します。

  2. サーバーパラメータページで

    • wal_levellogicalに設定します。
    • max_worker_processesを少なくとも16 に更新します。

    柔軟なサーバー展開のために CDC を有効にするスクリーンショット。

  3. 変更点を保存し、サーバーを再起動します。

  4. PostgreSQL Azure Database for PostgreSQL フレキシブル サーバー インスタンスでパブリック ネットワーク トラフィックが許可されていることを確認します。

  5. 次の SQL ステートメントを実行して、管理者 ユーザーにレプリケーションアクセス許可権限を許可します。 他のユーザー アカウントを使用して PostgreSQL DB を接続して CDC をフェッチする場合は、ユーザーが テーブル所有者であることを確認します。

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

データ ソースの選択ウィザードを起動する

イベントストリームにまだソースを追加していない場合は、[外部ソースの使用] タイルを選択します。

[外部ソースの使用] タイルの選択を示すスクリーンショット。

既に公開されているイベントストリームにソースを追加する場合は、編集モードに切り替え、リボンの [ソースの追加] を選択してから、[外部ソース] を選択します。

[ソースの追加] の [外部ソース] メニューの選択を示すスクリーンショット。

[データ ソースの選択] ページで、PostgreSQL DB (CDC) タイルで [接続] を検索して選択します。

イベントの取得ウィザードでのソースの種類としての Azure DB for PostgreSQL (CDC) の選択を示すスクリーンショット。

PostgreSQL Database CDC の構成と接続

  1. 接続ページで、新しい接続 を選択します。

    新しい接続リンクが強調表示された Azure PostgreSQL データベースの接続ページを示すスクリーンショット。

  2. 接続設定セクションで、次の情報を入力します。

    • サーバー: PostgreSQL データベースのサーバー アドレス (my-pgsql-server.postgres.database.azure.com など)。

    • データベース: データベース名 (my_database など)。

      Azure PostgreSQL データベース コネクタの [接続設定] セクションを示すスクリーンショット。

    • 接続名: 接続の名前を入力します。

    • [認証の種類] で [ 基本 ] を選択し、データベースの ユーザー名パスワード を入力します。

      現時点では、Fabric イベント ストリームでは 基本 認証のみがサポートされています。

    • [ 接続 ] を選択して接続設定を完了します。 Azure PostgreSQL データベース コネクタの [接続資格情報] セクションを示すスクリーンショット。

  3. ポート: サーバーのポート番号を入力します。 既定値は 5432 です。 選択したクラウド接続が [接続とゲートウェイの管理] で構成されている場合は、ポート番号がそこに設定されているポート番号と一致していることを確認します。 一致しない場合は、[ 接続とゲートウェイの管理 ] のクラウド接続のポート番号が優先されます。

  4. データベース テーブルから変更をキャプチャする場合は、次の 2 つのオプションから選択できます。

    • すべてのテーブル: データベース内のすべてのテーブルからの変更をキャプチャします。
    • テーブル名の入力: コンマ区切りリストを使用して、テーブルのサブセットを指定できます。 schemaName.tableName形式の完全なテーブル識別子または有効な正規表現のいずれかを使用できます。 例:
    • dbo.test.*: test スキーマで名前がdboで始まるすべてのテーブルを選択します。
    • dbo\.(test1|test2): dbo.test1dbo.test2を選択します。

    リスト内の両方の形式を組み合わせることができます。 エントリ全体の文字制限の合計は 102,400 文字です。

  5. スロット名 (省略可能): 特定のデータベース/スキーマの特定のプラグインからの変更をストリーミングするために作成された PostgreSQL 論理デコード スロットの名前を入力します。 サーバーはこのスロットを使用して、イベントを Eventstream ストリーミング コネクタにストリーミングします。 小文字、数字、アンダースコアのみを含める必要があります。

    • 指定しない場合は、適切なデータベースのアクセス許可を必要とする、スロットの作成に GUID が使用されます。
    • 指定されたスロット名が存在する場合、コネクタはそれを直接使用します。
  6. [詳細設定] を展開して、PostgreSQL データベース CDC ソースの追加の構成オプションにアクセスできます。

    • パブリケーション名: 使用する PostgreSQL 論理レプリケーション パブリケーションの名前を指定します。 これは、データベース内の既存のパブリケーションと一致する必要があります。または、自動作成モードに応じて自動的に作成されます。 既定値: dbz_publication

      コネクタ ユーザーは、パブリケーションを作成するためのスーパーユーザーのアクセス許可を持っている必要があります。 アクセス許可に関連する問題を回避するために、コネクタを初めて起動する前に、パブリケーションを手動で作成することをお勧めします。

    • パブリケーションの自動作成モード: パブリケーションを自動的に作成するかどうかを制御します。 オプションは次のとおりです。

      • Filtered (既定値): 指定したパブリケーションが存在しない場合、コネクタは選択したテーブルのみを含むパブリケーションを作成します (テーブルインクルード リストで指定されています)。
      • AllTables: 指定したパブリケーションが存在する場合、コネクタはそれを使用します。 存在しない場合、コネクタはデータベース内のすべてのテーブルを含むテーブルを作成します。
      • Disabled: コネクタはパブリケーションを作成しません。 指定したパブリケーションがない場合、コネクタはエラーをスローして停止します。 この場合、パブリケーションをデータベースに手動で作成する必要があります。

      詳細については、パブリケーションの自動作成モードに関する Debezium ドキュメントを参照してください。

    • 10 進処理モード: コネクタが PostgreSQL DECIMALNUMERIC 列の値を処理する方法を指定します。

      • Precise: 正確な 10 進型 (Java BigDecimal など) を使用して値を表し、データ表現の完全な精度と精度を確保します。
      • Double: 値を倍精度浮動小数点数に変換します。 これにより、使いやすさとパフォーマンスが向上しますが、精度が失われる可能性があります。
      • String: 値を書式設定された文字列としてエンコードします。 これにより、ダウンストリーム システムで簡単に使用できますが、元の数値型に関するセマンティック情報は失われます。
  7. [確認と接続] ページで概要を確認してから、[追加] を選択します。

    Azure PostgreSQL データベース コネクタの [確認と作成] ページを示すスクリーンショット。

更新されたイベントストリームを表示する

  1. [編集モード] でイベントストリームに追加された PostgreSQL データベースの CDC ソースを確認できます。

    編集ビューでの PostgreSQL DB CDC ソースのストリーミングのスクリーンショット。

  2. この新しく追加された PostgreSQL DB CDC ソースを実装するには、公開する を選択します。 これらの手順を完了すると、PostgreSQL DB CDC ソースを [ライブ ビュー] で視覚化できるようになります。

    ライブビューでのストリーミングPostgreSQL DB CDC ソースのスクリーンショット。

その他のコネクタ。