サポート対象の Postgres バージョン
Postgres 12 以降
論理レプリケーションを有効にする
設定 cloudsql.logical_decoding がオンになっている場合は、以下の手順に従う必要はありません。別のデータレプリケーションツールから移行している場合は、この設定は通常あらかじめ構成されています。
- 概要 ページで Edit ボタンをクリックします。

- Flags に移動し、
cloudsql.logical_decodingを on に変更します。この変更を反映するには、Postgres サーバーの再起動が必要です。


ClickPipes ユーザーの作成と権限の付与
管理者ユーザーで Cloud SQL Postgres に接続し、以下のコマンドを実行します。
-
ClickPipes 専用のユーザーを作成します。
CREATE USER clickpipes_user PASSWORD 'some-password'; -
前の手順で作成したユーザーに、スキーマレベルの読み取り専用アクセス権を付与します。以下の例は
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; -
ユーザーにレプリケーション権限を付与します。
ALTER USER clickpipes_user WITH REPLICATION; -
レプリケーションしたいテーブルを含む 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 アドレスをネットワークに追加してください。
- Connections セクションに移動します

- Networking サブセクションに移動します

- ClickPipes のパブリック IP アドレス を追加します


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