汎用的な Postgres ソースのセットアップガイド
サイドバーに表示されているサポート対象プロバイダーのいずれかを使用している場合は、そのプロバイダー専用のガイドを参照してください。
ClickPipes は Postgres バージョン 12 以降をサポートしています。
論理レプリケーションを有効にする
-
Postgres インスタンスでレプリケーションを有効にするには、次の設定が行われていることを確認する必要があります:
これを確認するには、次の SQL コマンドを実行します:
出力は
logicalである必要があります。そうでない場合は、次を実行します: -
さらに、Postgres インスタンスでは次の設定を行うことを推奨します:
これらを確認するには、次の SQL コマンドを実行します:
値が推奨値と一致しない場合は、次の SQL コマンドを実行して設定します:
-
上記のとおり構成に変更を加えた場合は、その変更を反映させるために Postgres インスタンスを再起動する必要があります。
権限とパブリケーションを設定したユーザーの作成
管理者ユーザーとして Postgres インスタンスに接続し、次のコマンドを実行します。
-
ClickPipes 用の専用ユーザーを作成します:
-
先ほど作成したユーザーに対して、スキーマレベルの読み取り専用アクセス権を付与します。次の例は
publicスキーマに対する権限を示しています。レプリケーションしたいテーブルを含む各スキーマに対して、これらのコマンドを繰り返してください。 -
ユーザーにレプリケーション権限を付与します。
-
レプリケーションしたいテーブルを対象とする パブリケーション を作成します。パフォーマンスへの余計なオーバーヘッドを避けるため、パブリケーションには必要なテーブルのみを含めることを強く推奨します。
注記パブリケーションに含めるすべてのテーブルは、primary key が定義されているか、replica identity が
FULLに設定されている必要があります。スコープの設定に関するガイダンスについては Postgres FAQs を参照してください。-
特定のテーブルに対するパブリケーションを作成するには:
-
特定のスキーマ内のすべてのテーブルに対するパブリケーションを作成するには:
clickpipesパブリケーションには、指定したテーブルから生成された変更イベントの集合が含まれ、後にレプリケーションストリームを取り込むために使用されます。 -
pg_hba.conf で ClickPipes ユーザーへの接続を有効にする
セルフホストで運用している場合は、以下の手順に従って、ClickPipes の IP アドレスから ClickPipes ユーザーへの接続を許可する必要があります。マネージドサービスを利用している場合は、プロバイダーのドキュメントに従って同様の設定を行ってください。
-
pg_hba.confファイルを編集し、ClickPipes の IP アドレスから ClickPipes ユーザーへの接続を許可します。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 インスタンスのセットアップ時に使用した接続情報は必ず控えておいてください。