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

Generic Postgres source setup guide

参考

サポートされているプロバイダーの1つを使用している場合(サイドバーに記載)、そのプロバイダーの具体的なガイドを参照してください。

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

Enable logical replication

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

同じことを確認するには、以下のSQLコマンドを実行できます:

SHOW wal_level;

出力はlogicalであるべきです。そうでない場合は、次のコマンドを実行してください:

ALTER SYSTEM SET wal_level = logical;
  1. さらに、Postgresインスタンスに設定することが推奨される以下の設定があります:
max_wal_senders > 1
max_replication_slots >= 4

同じことを確認するには、以下のSQLコマンドを実行できます:

SHOW max_wal_senders;
SHOW max_replication_slots;

値が推薦される値に一致しない場合は、以下のSQLコマンドを実行して設定できます:

ALTER SYSTEM SET max_wal_senders = 10;
ALTER SYSTEM SET max_replication_slots = 10;
  1. 上記のように構成に変更を加えた場合は、変更を有効にするためにPostgresインスタンスを再起動する必要があります。

Creating a user with permissions and publication

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

このためには、Postgresインスタンスに接続し、以下のSQLコマンドを実行できます:

  CREATE USER clickpipes_user PASSWORD 'clickpipes_password';
  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;

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

-- Create a publication. We will use this when creating the pipe
  CREATE PUBLICATION clickpipes_publication FOR ALL TABLES;
注記

clickpipes_userおよびclickpipes_passwordを希望するユーザー名とパスワードに置き換えてください。

Enabling connections in pg_hba.conf to the ClickPipes User

セルフサービスの場合は、以下の手順に従ってClickPipesのIPアドレスからClickPipesユーザーへの接続を許可する必要があります。マネージドサービスを使用している場合は、プロバイダーの文書に従って同様のことができます。

  1. pg_hba.confファイルに必要な変更を加えて、ClickPipesのIPアドレスからClickPipesユーザーへの接続を許可します。pg_hba.confファイルの例のエントリーは次のようになります:
host    all   clickpipes_user     0.0.0.0/0          scram-sha-256
  1. 変更を有効にするためにPostgreSQLインスタンスをリロードします:
SELECT pg_reload_conf();

Increase max_slot_wal_keep_size

これは、大きなトランザクション/コミットがレプリケーションスロットをドロップさせないようにするために推奨される構成変更です。

max_slot_wal_keep_sizeパラメータを高い値(最低100GBまたは102400)に増加させることができます。これはpostgresql.confファイルを更新することによって行います。

max_slot_wal_keep_size = 102400

変更を有効にするためにPostgresインスタンスをリロードできます:

SELECT pg_reload_conf();
注記

この値に関するより良い推奨を得るには、ClickPipesチームに問い合わせてください。

What's next?

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