メインコンテンツへスキップ
メインコンテンツへスキップ

Google Cloud SQL Postgres ソース設定ガイド

情報

サイドバーに表示されているサポート対象プロバイダーのいずれかを使用している場合は、そのプロバイダー専用のガイドを参照してください。

サポートされている Postgres バージョン

Postgres 12 以降のすべてのバージョン

論理レプリケーションを有効にする

設定 cloudsql. logical_decoding が on で、かつ wal_sender_timeout が 0 の場合は、以下の手順を実行する必要はありません。これらの設定は、他のデータレプリケーションツールから移行する場合、ほとんどのケースで事前に構成されています。

  1. 概要ページで Edit ボタンをクリックします。
Cloud SQL Postgres の Edit ボタン
  1. Flags に移動し、cloudsql.logical_decoding を on にし、wal_sender_timeout を 0 に変更します。これらの変更を反映するには、Postgres サーバーの再起動が必要です。
cloudsql.logical_decoding を on に変更
cloudsql.logical_decoding と wal_sender_timeout を変更
サーバーを再起動

ClickPipes ユーザーの作成と権限付与

管理ユーザーで Cloud SQL Postgres に接続し、以下のコマンドを実行します。

  1. ClickPipes 専用のユーザーを作成します:

    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. 前の手順で作成したユーザーに対して、スキーマレベルの読み取り専用アクセス権を付与します。次の例では public スキーマに対する権限を示しています。レプリケーションしたいテーブルを含む各スキーマに対して、これらのコマンドを繰り返してください。

    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
    
  3. ユーザーにレプリケーション権限を付与します:

    ALTER USER clickpipes_user WITH REPLICATION;
    
  4. レプリケーションしたいテーブルを含む publication を作成します。パフォーマンスのオーバーヘッドを避けるため、publication には必要なテーブルのみを含めることを強く推奨します。

    注意

    publication に含めるすべてのテーブルには、主キー (primary key) が定義されているか、replica identityFULL に設定されている必要があります。スコープの決め方については、Postgres FAQs を参照してください。

    • 特定のテーブルに対する publication を作成するには:

      CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
      
    • 特定スキーマ内のすべてのテーブルに対する publication を作成するには:

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      

    clickpipes publication には、指定したテーブルから生成された変更イベントの集合が含まれ、後でレプリケーションストリームを取り込むために使用されます。

Firewall に ClickPipes の IP アドレスを追加する

次の手順に従って、ClickPipes の IP アドレスをネットワークに追加します。

注記

SSH Tunneling を使用している場合は、ClickPipes IPs を Jump Server/Bastion のファイアウォールルールに追加する必要があります。

  1. Connections セクションに移動します
Cloud SQL の「Connections」セクション
  1. Networking サブセクションに移動します
Cloud SQL の「Networking」サブセクション
  1. ClickPipes の public IP アドレス を追加します
ClickPipes ネットワークを Firewall に追加
Firewall に追加された ClickPipes ネットワーク

次のステップ

これで、ClickPipe を作成し、Postgres インスタンスから ClickHouse Cloud へのデータ取り込みを開始できます。 Postgres インスタンスのセットアップ時に使用した接続情報は、ClickPipe の作成時に必要になるので、必ず控えておいてください。