前提条件
- レプリケーション権限を持つユーザーで、ソース PostgreSQL データベースにアクセスできること。ソースに応じて、以下のセットアップガイドに従ってください。
- 移行先として ClickHouse Managed Postgres サービスが必要です。まだ用意していない場合は、クイックスタート を参照してください。
- ローカルマシンに
pg_dumpとpsqlがインストールされていること。どちらも標準の PostgreSQL クライアントツールに含まれています。
移行前の注意事項
- DDL の伝播: 継続的レプリケーション (CDC) は、DML 操作と
ADD COLUMNを取り込みます。DROP COLUMNやALTER COLUMNなど、その他の DDL 変更は伝播されないため、ターゲット側で手動で適用する必要があります。
移行中に問題が発生した場合は、よくあるエラーとその解決策について Managed Postgres 移行のよくある質問 を確認してください。
1
ソースデータベースに接続する
ClickHouse Cloud console を開き、Managed Postgres サービスを選択します。左側のサイドバーで、データソース をクリックします。Start import をクリックします。ソース PostgreSQL データベースの接続情報 (ホスト、ポート、ユーザー名、パスワード、データベース名) を入力します。ソース側で必要な場合は、TLS を有効にします。ソースデータベースへのプライベート接続が必要な場合は、SSH トンネリング を選択し、必要な SSH 情報を入力できます。これにより、公開されていないデータベースにも移行処理から安全に接続できます。インジェスト方法を選択します。
- 初期ロード + CDC (変更データキャプチャ) — 既存データをコピーした後、継続的な変更を反映してターゲットを同期し続けます。
- 初期ロード only — 一回限りのコピーで、継続的なレプリケーションは行いません。
- CDC (変更データキャプチャ) only — 初期コピーをスキップし、この時点以降の新しい変更だけをレプリケートします。
2
データベーススキーマをエクスポートする
ウィザードには、ソースへの接続情報があらかじめ入力された これにより、
pg_dump コマンドが表示されます。これをターミナルで実行します。pg.sql が現在のディレクトリに作成されます。Next をクリックします。3
Managed Postgres サービスにスキーマをインポートする
ドロップダウンから宛先データベースを選択するか、Create a new database をクリックして新しく作成します。ウィザードには、スキーマダンプを Managed Postgres サービスに適用するための Next をクリックします。
psql コマンドが表示されます。これをターミナルで実行します。4
インジェスト設定を構成する
論理レプリケーションに使用する publication を指定します。空欄のままにすると、publication が自動的に作成されます。Advanced replication settings を展開して、スループットを調整します。
Next をクリックします。
5
テーブルを選択する
レプリケートするテーブルを選択します。テーブルはスキーマごとにグループ化されています。個別のテーブルを選択することも、スキーマを展開してその配下をすべて選択することもできます。Create migration をクリックします。