Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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

サポート対象の Postgres バージョン

Postgres 12 以降

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

設定 cloudsql.logical_decoding がオンになっている場合は、以下の手順に従う必要はありません。別のデータレプリケーションツールから移行している場合は、この設定は通常あらかじめ構成されています。

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

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 を作成するには:

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

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";

clickpipes publication は、変更イベントが ClickPipes にストリーミングされる対象テーブルの集合を定義します。すべてのテーブルをレプリケーションするつもりでない限り、FOR ALL TABLES の使用は推奨しません。不要なテーブルを含めると、Postgres から ClickPipes への WAL トラフィックが増加し、レプリケーション全体の効率が低下するためです。

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

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

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

次のステップ

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

Navigation