前提条件
- レプリケーション権限を持つユーザーで、移行元の PostgreSQL データベースにアクセスできること。
- 移行先となる ClickHouse Managed Postgres サービス。まだお持ちでない場合は、クイックスタートを参照してください。
- ローカルマシンに
pg_dumpとpsqlがインストールされていること。どちらも標準の PostgreSQL クライアントツールに含まれています。
移行前の考慮事項
- DDL の伝播: 継続的レプリケーション (CDC (変更データキャプチャ) ) では、DML 操作と
ADD COLUMNがキャプチャされます。DROP COLUMNやALTER COLUMNなどのその他の DDL 変更は伝播されないため、ターゲット側で手動で適用する必要があります。
1
ソースデータベースに接続する
ClickHouse Cloud コンソール を開き、Managed Postgres サービスを選択します。左側のサイドバーで Data sources をクリックします。Start import をクリックします。ソース PostgreSQL データベースの接続情報 (ホスト、ポート、ユーザー名、パスワード、データベース名) を入力します。必要に応じて TLS を有効にします。ソースデータベースへのプライベート接続が必要な場合は、SSH tunneling を選択し、必要な SSH 情報を入力できます。これにより、公開されていないデータベースにも移行プロセスから安全に接続できます。インジェスト方法を選択します。
- 初期ロード + CDC (変更データキャプチャ) — 既存のデータをコピーした後、以降の変更を継続的に同期します。
- 初期ロードのみ — 一回限りのコピーで、継続的なレプリケーションは行いません。
- CDC (変更データキャプチャ) のみ — 初期コピーをスキップし、この時点以降の新しい変更のみをレプリケートします。
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 をクリックします。