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

Google Cloud SQL Postgres ソースセットアップガイド

参考文献

サイドバーにあるサポート対象プロバイダのいずれかを利用している場合は、そのプロバイダ向けの個別ガイドを参照してください。

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

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

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

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

  1. Overview ページの 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 ユーザーの作成と権限付与

admin ユーザーで 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 ROLE clickpipes_user 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 には、指定したテーブルから生成された変更イベントのセットが含まれ、後でレプリケーションストリームを取り込むために使用されます。

ClickPipes の IP をファイアウォールに追加する

以下の手順に従って、ClickPipes の IP をネットワークに追加してください。

注記

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

  1. Connections セクションに移動します
Cloud SQL の Connections セクション
  1. Networking サブセクションに移動します
Cloud SQL の Networking サブセクション
  1. ClickPipes のパブリック IP を追加します
ClickPipes のネットワークをファイアウォールに追加
ClickPipes のネットワークがファイアウォールに追加された状態

次のステップ

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