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