前提条件
- レプリケーション権限を持つユーザーで、移行元の PostgreSQL データベースにアクセスできること。
- 移行先となる ClickHouse Managed Postgres サービス。まだお持ちでない場合は、クイックスタートを参照してください。
- ローカルマシンに
pg_dumpとpsqlがインストールされていること。どちらも標準の PostgreSQL クライアントツールに含まれています。
移行前の考慮事項
- DDL の伝播: 継続的レプリケーション (CDC (変更データキャプチャ) ) では、DML 操作と
ADD COLUMNがキャプチャされます。DROP COLUMNやALTER COLUMNなどのその他の DDL 変更は伝播されないため、ターゲット側で手動で適用する必要があります。
ステップ 1: ソースデータベースに接続する
- 初期ロード + CDC (変更データキャプチャ) — 既存のデータをコピーした後、以降の変更を継続的に同期します。
- 初期ロードのみ — 一回限りのコピーで、継続的なレプリケーションは行いません。
- CDC (変更データキャプチャ) のみ — 初期コピーをスキップし、この時点以降の新しい変更のみをレプリケートします。
ステップ 2: データベーススキーマをエクスポートする
pg_dump コマンドが表示されます。これをターミナルで実行してください。
pg.sql が作成されます。
Next をクリックします。
ステップ 3: スキーマを Managed Postgres サービスにインポートする
psql コマンドが表示されます。これをターミナルで実行します。
Step 4: インジェスト設定を構成する
| 設定 | デフォルト | 説明 |
|---|---|---|
| 同期間隔 (秒) | 10 | replication slot をポーリングする頻度 |
| 初期ロードの並列スレッド数 | 4 | bulk copy フェーズで使用するスレッド数 |
| Pull バッチサイズ | 100,000 | レプリケーションバッチごとに取得する行数 |
| スナップショットのパーティションごとの行数 | 100000 | 大規模なテーブルのスナップショットにおけるパーティションサイズ |
| 並列にスナップショットを取得するテーブル数 | 1 | 同時にスナップショットを取得するテーブル数 |