メインコンテンツへスキップ
サポート対象のプロバイダー (サイドバーに表示) のいずれかを使用している場合は、そのプロバイダー向けの個別ガイドを参照してください。
ClickPipes は Postgres バージョン 12 以降をサポートしています。

論理レプリケーションを有効にする

  1. Postgres インスタンスでレプリケーションを有効にするには、まず以下の設定になっていることを確認してください。
    wal_level = logical
    
    確認するには、次の SQL コマンドを実行します。
    SHOW wal_level;
    
    出力は logical である必要があります。そうでない場合は、次を実行します。
    ALTER SYSTEM SET wal_level = logical;
    
  2. また、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;
    
  3. 上記の設定を変更した場合、変更を反映するには Postgres インスタンスを再起動する必要があります。

権限とパブリケーションを持つユーザーの作成

管理者ユーザーとして Postgres インスタンスに接続し、次のコマンドを実行します。
  1. ClickPipes 専用のユーザーを作成します。
    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. 前の手順で作成したユーザーに、スキーマレベルの読み取り専用アクセスを付与します。次の例は 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;
    
  3. ユーザーにレプリケーション権限を付与します。
    ALTER USER clickpipes_user WITH REPLICATION;
    
  4. レプリケートしたいテーブルを含む publication を作成します。パフォーマンスのオーバーヘッドを避けるため、publication には必要なテーブルのみを含めることを強く推奨します。
publication に含めるテーブルには、主キー が定義されているか、または replica identityFULL に設定されている必要があります。スコープ設定に関するガイダンスについては、Postgres よくある質問 を参照してください。
  • 特定のテーブルに対する publication を作成するには:
    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    
    • 特定のスキーマ内のすべてのテーブルに対する publication を作成するには:
      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      
clickpipes publication には、指定したテーブルから生成された変更イベントの集合が含まれ、後でレプリケーションストリームを取り込むために使用されます。

pg_hba.conf で ClickPipes ユーザーへの接続を有効にする

セルフホスト環境では、以下の手順に従って、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
    
  2. 変更を反映するには、PostgreSQL インスタンスをリロードします。
    SELECT pg_reload_conf();
    

max_slot_wal_keep_size を増やす

これは、大規模なトランザクションやコミットによってレプリケーションスロットが削除されるのを防ぐための推奨設定です。 postgresql.conf ファイルを更新して、PostgreSQL インスタンスの max_slot_wal_keep_size パラメータをより大きな値 (少なくとも 100GB または 102400) に引き上げることができます。
max_slot_wal_keep_size = 102400
変更を反映するには、Postgres インスタンスを再読み込みします:
SELECT pg_reload_conf();
この値のより適切な推奨値については、ClickPipes チームにお問い合わせください。

次は?

これで、ClickPipe を作成して、Postgres インスタンスから ClickHouse Cloud へのデータの取り込みを開始できます。 ClickPipe の作成時に必要になるため、Postgres インスタンスのセットアップ時に使用した接続情報は必ず控えておいてください。
最終更新日 2026年6月10日