メインコンテンツへスキップ
メインコンテンツへスキップ

PostgreSQL からデータを挿入する方法

ClickHouse へのデータ挿入パフォーマンスを最適化するためのベストプラクティスについては、こちらのガイド を参照することを推奨します。

PostgreSQL からのバルクロードには、次の方法を使用できます。

  • ClickHouse Cloud 用のマネージド統合サービスである ClickPipes を使用する。
  • PeerDB by ClickHouse を使用する。これは、PostgreSQL データベースをセルフホスト型の ClickHouse および ClickHouse Cloud の両方へレプリケーションするために特化した ETL ツールです。
  • Postgres Table Function を使用してデータを直接読み取る。この方法は、既知のウォーターマーク(例: タイムスタンプ)に基づくバッチレプリケーションで十分な場合や、一度きりの移行である場合に一般的に適しています。このアプローチは数千万行規模までスケール可能です。より大きなデータセットを移行したい場合は、データをチャンクに分割し、それぞれを個別のリクエストで処理することを検討してください。各チャンクについてステージングテーブルを使用し、そのパーティションを最終テーブルに移動する前にロードすることができます。これにより、失敗したリクエストのみを再試行できます。このバルクロード戦略の詳細については、こちらを参照してください。
  • データを Postgres から CSV 形式でエクスポートする。この CSV をローカルファイル、またはテーブル関数を用いてオブジェクトストレージ経由で ClickHouse に挿入できます。