メインコンテンツまでスキップ
メインコンテンツまでスキップ

PlanetScale for Postgres ソースセットアップガイド

参考

PlanetScale for Postgres は現在 early access にあります。

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

ClickPipes は Postgres バージョン 12 以降をサポートしています。

論理レプリケーションの有効化

  1. Postgres インスタンスでレプリケーションを有効にするには、以下の設定が行われていることを確認する必要があります:
wal_level = logical

同様の確認をするには、次の SQL コマンドを実行できます:

SHOW wal_level;

出力はデフォルトで logical であるべきです。そうでない場合は、PlanetScale コンソールにログインし、Cluster configuration->Parameters に移動し、Write-ahead log の下にスクロールして変更してください。

PlanetScale コンソールでの wal_level の調整
注意

PlanetScale コンソールでこれを変更すると、再起動がトリガーされます。

  1. さらに、デフォルトの 4GB から max_slot_wal_keep_size の設定を増加させることを推奨します。これは、Cluster configuration->Parameters に移動し、Write-ahead log にスクロールすることで PlanetScale コンソールを通じて行います。新しい値を決定するために、こちらを確認してください。
PlanetScale コンソールでの max_slot_wal_keep_size の調整

権限と公開を持つユーザーの作成

CDC に適した必要な権限を持つ ClickPipes 用の新しいユーザーを作成し、レプリケーションに使用する公開物も作成します。

これには、デフォルトの postgres.<...> ユーザーを使用して PlanetScale Postgres インスタンスに接続し、以下の SQL コマンドを実行します:

  CREATE USER clickpipes_user PASSWORD 'clickpipes_password';
  GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
-- You may need to grant these permissions on more schemas depending on the tables you're moving
  GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
  ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;

-- Give replication permission to the USER
  ALTER USER clickpipes_user REPLICATION;

-- Create a publication. We will use this when creating the pipe
-- When adding new tables to the ClickPipe, you'll need to manually add them to the publication as well. 
  CREATE PUBLICATION clickpipes_publication FOR TABLE <...>, <...>, <...>;
注記

clickpipes_userclickpipes_password を希望のユーザー名とパスワードに置き換えてください。

注意事項

  1. PlanetScale Postgres に接続するには、上記で作成したユーザー名に現在のブランチを付加する必要があります。例えば、作成したユーザーが clickpipes_user であった場合、ClickPipe 作成時に指定する実際のユーザーは clickpipes_user.branch であり、ここで branch は現在の PlanetScale Postgres の branch の「id」を指します。これを迅速に判断するには、以前にユーザーを作成するために使用した postgres ユーザー名を参照し、ピリオドの後ろの部分がブランチ id になります。
  2. PlanetScale Postgres に接続する CDC パイプに PSBouncer ポート(現在 6432)を使用しないでください。通常のポート 5432 を使用する必要があります。初回ロード専用のパイプにはどちらのポートも使用できます。
  3. 必ずプライマリインスタンスにのみ接続していることを確認してください。レプリカインスタンスへの接続 は現在サポートされていません。

次は何ですか?

現在、ClickPipe を作成して、Postgres インスタンスから ClickHouse Cloud にデータを取り込むことができます。Postgres インスタンスを設定する際に使用した接続情報をメモしておくことを忘れないでください。ClickPipe 作成プロセスで必要になります。