すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:自主管理 PostgreSQL データベースから AnalyticDB for PostgreSQL インスタンスへのデータ同期

最終更新日:Mar 29, 2026

Data Transmission Service (DTS) は、自主管理 PostgreSQL データベースから AnalyticDB for PostgreSQL インスタンスへの一方向同期をサポートしており、初期の完全データロードと継続的な増分変更の両方をカバーします。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • 同期対象のテーブルにプライマリキーが定義されていること

  • 宛先となる AnalyticDB for PostgreSQL インスタンスが作成済みであること。詳細については、「インスタンスの作成」をご参照ください。

  • 宛先インスタンスに作成された、ソースオブジェクトのスキーマと一致するデータベース、スキーマ、およびテーブル。詳細については、「SQL 構文」をご参照ください。

制限事項

制限事項詳細
タスクごとの対象範囲1 つのタスクで 1 つのデータベースのみを対象とします。追加のデータベースごとに個別のタスクを作成してください。
サポートされるオブジェクト同期対象として選択できるのはテーブルのみです。
スキーマ同期サポートされていません。タスク開始前に、宛先インスタンスで必要なスキーマを手動で作成してください。
DDL 操作同期中にソースオブジェクトで実行された DDL 変更は自動的にレプリケーションされません。同様の DDL を宛先側にも適用したうえで、タスクを再起動してください。
サポートされる DML 操作INSERT、UPDATE、DELETE
サポートされないデータの型BIT、VARBIT、GEOMETRY、UUID、TSQUERY、TSVECTOR、TXID_SNAPSHOT

注意事項

同期中に作成された新規テーブル

DTS は PostgreSQL の論理レプリケーションを使用して行レベルの変更をキャプチャします。UPDATE および DELETE 操作を正しくレプリケーションするには、先行書き込みログ(WAL)に完全な行イメージ(full row image)が含まれている必要があります。新規テーブルを同期可能にする前に、各テーブルに対して以下の文を実行してください。

ALTER TABLE schema.table REPLICA IDENTITY FULL;

この設定がない場合、UPDATE および DELETE 操作の WAL ログには完全な行イメージが含まれず、DTS はこれらの変更をレプリケーションできません。

警告

REPLICA IDENTITY FULL は、対象となるテーブルの WAL ボリュームを増加させます。CDC レプリケーションが必要なテーブルにのみ、選択的に適用してください。

プライマリ/セカンダリ スイッチオーバー

スイッチオーバーは、ApsaraDB RDS for PostgreSQL 11 インスタンスでのみサポートされています。スイッチオーバーを実行する前に、rds_failover_slot_mode パラメーターを sync に設定します。詳細については、「論理レプリケーションスロットのフェールオーバー」をご参照ください。

警告

自主管理 PostgreSQL データベースまたはその他のバージョンの ApsaraDB RDS for PostgreSQL インスタンスでプライマリ/セカンダリ スイッチオーバーを実行すると、同期タスクが失敗します。

長時間トランザクション

ソースデータベース内の長時間トランザクションにより、当該トランザクションがコミットされるまで WAL ログが蓄積されます。放置すると、ソースデータベースのディスク領域が枯渇する可能性があります。長時間トランザクションを随時監視し、速やかにコミットまたはロールバックしてください。

同期タスクの構成

エンドツーエンドのフローは、以下の 4 つのステージで構成されます。

  1. DTS インスタンスの購入

  2. DTS コンソールを開き、同期タスクに移動

  3. ソースおよび宛先インスタンスの構成と同期ポリシーの設定

  4. 事前チェックの実行とタスクの開始

ステップ 1:DTS インスタンスの購入

DTS インスタンスの購入を行います。購入ページで、以下のパラメーターを設定してください。

パラメーター
ソースインスタンスPostgreSQL
宛先インスタンスAnalyticDB for PostgreSQL
同期トポロジー一方向同期

ステップ 2:DTS コンソールの開く

DTS コンソールにログインします。

説明

Data Management (DMS) コンソールにリダイレクトされた場合は、old アイコンをクリックして、image 内のメニューから DTS コンソールの旧バージョンに切り替えてください。

ステップ 3:同期タスクへの移動

左側のナビゲーションウィンドウで、[データ同期] をクリックします。

ステップ 4:宛先リージョンの選択

[同期タスク] ページの上部で、宛先インスタンスが配置されているリージョンを選択します。

ステップ 5:タスク構成画面の開く

同期インスタンスを検索し、[操作] 列の [構成タスク] をクリックします。

ステップ 6:ソースおよび宛先インスタンスの構成

Configure the source and destination databases

ソースインスタンスの詳細

パラメーター説明
同期タスク名DTS が自動的に名前を生成します。識別しやすいように、意味のある名前を指定してください。名前は一意である必要はありません。
インスタンスタイプソースデータベースのデプロイ方法に応じて選択します。本例では [ECS インスタンス上のユーザー作成データベース] を使用します。その他のインスタンスタイプの場合は、ネットワーク環境を事前に構成してください。詳細については、「事前準備の概要」をご参照ください。
インスタンスリージョン購入ページで選択したソースリージョン。読み取り専用です。
ECS インスタンス ID自主管理 PostgreSQL データベースがデプロイされている Elastic Compute Service (ECS) インスタンスを選択します。
データベースタイプPostgreSQL。読み取り専用です。
ポート番号自主管理 PostgreSQL データベースのサービスポート。
データベース名ソースデータベースの名前。
データベースアカウントスキーマ所有者権限を持つアカウント。
データベースパスワードデータベースアカウントのパスワード。

宛先インスタンスの詳細

パラメーター説明
インスタンスタイプAnalyticDB for PostgreSQL。読み取り専用です。
インスタンスリージョン購入ページで選択した宛先リージョン。読み取り専用です。
インスタンス IDAnalyticDB for PostgreSQL インスタンスを選択します。
データベース名宛先データベースの名前。
データベースアカウントAnalyticDB for PostgreSQL インスタンスの初期アカウント、または RDS_SUPERUSER 権限を持つアカウント。詳細については、「データベースアカウントの作成」および「ユーザーと権限の管理」をご参照ください。
データベースパスワードデータベースアカウントのパスワード。

ステップ 7:DTS の IP アドレスをホワイトリストに追加

[ホワイトリストの設定と次へ] をクリックします。DTS は、ECS インスタンスのセキュリティグループのインバウンドルールおよび AnalyticDB for PostgreSQL インスタンスのホワイトリストに、自社サーバーの CIDR ブロックを自動的に追加します。これにより、DTS は両端への接続が可能になります。

ステップ 8:同期ポリシーおよび同期対象の構成

Select the objects to be synchronized
パラメーター説明
同期の初期化[初期完全データ同期] がデフォルトで選択されています。事前チェックが成功した後、DTS はソースデータベースから既存のすべてのデータを宛先インスタンスにコピーし、増分同期のベースラインとして使用します。
競合テーブルの処理モード[データのクリア]:空テーブルチェックをスキップし、完全同期前に宛先テーブルのデータをクリアします。テスト目的でタスクを実行した後に本番データを同期する場合に使用します。[無視]:空テーブルチェックをスキップし、受信データを宛先側の既存データに追加します。複数のソーステーブルから 1 つの宛先テーブルへ同期する場合に使用します。
同期タイプ同期する DML 操作を選択します:[挿入][更新]、および [削除]。AlterTable オプションは表示されますが、サポートされていません。
同期対象のオブジェクト利用可能選択済み[利用可能] リストからテーブルを選択し、Rightwards arrow同期対象オブジェクトの名前変更オブジェクト名のマッピング アイコンを使用して [選択済み] リストに移動します。選択可能なのはテーブルのみです。宛先側でオブジェクト名を変更する場合は、オブジェクト名マッピング機能をご利用ください。詳細については、「」および「」をご参照ください。
接続失敗時のリトライ時間デフォルトは 720 分(12 時間)です。この期間内に DTS が再接続できた場合、タスクは自動的に再開されます。それ以外の場合はタスクが失敗します。リトライ期間中も DTS の課金が発生します。ビジネス要件に応じてこの値を設定し、ソースおよび宛先インスタンスがいずれもリリースされた場合は、速やかに DTS インスタンスもリリースしてください。

ステップ 9:事前チェックの実行

右下隅の [事前チェック] をクリックします。事前チェックが成功しない限り、タスクを開始できません。

いずれかの項目が失敗した場合は、失敗した項目の横にある 提示 アイコンをクリックして詳細を表示します。問題を解決した後、新しい事前チェックを開始してください。問題を修正しない場合は、失敗した項目を無視して新しい事前チェックを開始できます。

ステップ 10:タスクの開始

[事前チェック成功] のメッセージが表示されたら、[事前チェック] ダイアログボックスを閉じます。同期タスクが自動的に開始されます。

ステップ 11:タスクのステータスの確認

初期の完全同期が完了するまで待ちます。完了後、タスクのステータスは [同期中] に遷移します。

View the status of a data synchronization task

[同期タスク] ページでタスクの状態を監視します。