汎用的な Postgres ソースセットアップガイド
サイドバーに表示されているサポート対象プロバイダーのいずれかを使用している場合は、そのプロバイダー専用ガイドを参照してください。
ClickPipes は Postgres バージョン 12 以降をサポートしています。
論理レプリケーションを有効化する
-
Postgres インスタンスでレプリケーションを有効にするには、以下の設定が行われていることを確認する必要があります:
設定値を確認するには、次の SQL コマンドを実行します:
出力は
logicalである必要があります。そうでない場合は、次を実行します: -
さらに、Postgres インスタンスでは以下の設定を行うことを推奨します:
設定値を確認するには、次の SQL コマンドを実行します:
値が推奨値と一致しない場合は、次の SQL コマンドを実行して設定します:
-
上記のとおり設定に変更を加えた場合は、その変更を反映させるために Postgres インスタンスを必ず再起動してください。
権限とパブリケーションを持つユーザーの作成
管理ユーザーとして Postgres インスタンスに接続し、次のコマンドを実行します。
-
ClickPipes 専用のユーザーを作成します:
-
前の手順で作成したユーザーに対して、スキーマ単位の読み取り専用アクセス権を付与します。次の例では、
publicスキーマに対する権限を示しています。レプリケーションしたいテーブルを含む各スキーマについて、これらのコマンドを繰り返してください: -
ユーザーにレプリケーションの権限を付与します:
-
レプリケーションしたいテーブルを含むパブリケーションを作成します。パフォーマンスへのオーバーヘッドを避けるため、パブリケーションには必要なテーブルのみを含めることを強く推奨します。
注意パブリケーションに含める各テーブルには、主キー (primary key) が定義されているか、replica identity が
FULLに設定されている必要があります。スコープ設定のガイダンスについては、Postgres FAQ を参照してください。-
特定のテーブルに対するパブリケーションを作成する場合:
-
特定のスキーマ内のすべてのテーブルに対するパブリケーションを作成する場合:
clickpipesパブリケーションには、指定したテーブルから生成される変更イベントの集合が含まれ、後でレプリケーションストリームを取り込むために使用されます。 -
pg_hba.conf で ClickPipes USER への接続を有効化する
セルフマネージド環境の場合、以下の手順に従って ClickPipes の IP アドレスから ClickPipes USER への接続を許可する必要があります。マネージドサービスを利用している場合は、プロバイダーが提供するドキュメントに従って同様の設定を行ってください。
-
pg_hba.confファイルに必要な変更を加え、ClickPipes の IP アドレスから ClickPipes USER への接続を許可します。pg_hba.confファイルの設定例は次のとおりです。 -
変更を反映させるために、PostgreSQL インスタンスをリロードします。
max_slot_wal_keep_size を増やす
大きなトランザクションやコミットが原因でレプリケーションスロットが削除されないようにするために、次の設定変更を行うことを推奨します。
postgresql.conf ファイルを更新し、PostgreSQL インスタンスの max_slot_wal_keep_size パラメータを、より大きな値(少なくとも 100GB または 102400)に増やします。
変更を有効にするには、Postgres インスタンスを再読み込みします。
この値のより適切な設定については、ClickPipes チームまでお問い合わせください。
次のステップ
これで、ClickPipe を作成して、Postgres インスタンスから ClickHouse Cloud へのデータ取り込みを開始できます。 ClickPipe を作成する際に必要になるため、Postgres インスタンスをセットアップしたときに使用した接続情報を必ず控えておいてください。