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

Data Transmission Service:ApsaraDB RDS for PostgreSQL から AnalyticDB for PostgreSQL へのデータ同期

最終更新日:Jun 23, 2026

Data Transmission Service (DTS) を使用すると、ApsaraDB RDS for PostgreSQL インスタンスから AnalyticDB for PostgreSQL インスタンスにデータを同期できます。この機能を使用して、一元的な分析のためにデータを簡単に転送できます。

前提条件

  • 同期したい ApsaraDB RDS for PostgreSQL インスタンスのテーブルには、プライマリキーが必要です。

  • 宛先の AnalyticDB for PostgreSQL インスタンスを作成します。手順については、「AnalyticDB for PostgreSQL インスタンスの作成」をご参照ください。

注意事項

  • 複数のデータベースからデータを同期するには、データベースごとに個別のデータ同期タスクを作成する必要があります。

  • データ同期中にソースデータベースに新しいテーブルを作成し、それを同期したい場合は、データ整合性を維持するためにテーブルで次のコマンドを実行します。

    ALTER TABLE schema.table REPLICA IDENTITY FULL;
  • タスクが期待どおりに実行されるように、プライマリ/セカンダリ スイッチオーバーは ApsaraDB RDS for PostgreSQL 11 インスタンスでのみサポートされます。また、rds_failover_slot_mode パラメーターを sync に設定する必要もあります。詳細については、「論理レプリケーションスロットのフェイルオーバー」をご参照ください。

    警告

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

  • ソースデータベースに長時間トランザクションが存在し、タスクに増分同期が含まれている場合、これらのトランザクションがコミットされる前に生成された先行書き込みログ (WAL) レコードが蓄積される可能性があります。これにより、ソースデータベースのディスク領域が満杯になることがあります。

課金

同期タイプ

料金

スキーマ同期と完全データ同期

無料です。

増分同期

有料です。詳細については、「課金概要」をご参照ください。

制限事項

  • スキーマ同期はサポートされていません。DTS は、テーブルスキーマなどのオブジェクトの定義をソースデータベースからターゲットデータベースに同期しません。

  • データテーブルのみを同期できます。追記最適化 (AO) テーブルは、宛先テーブルとしてサポートされていません。

  • 次のタイプのデータは同期できません:BIT、VARBIT、GEOMETRY、UUID、TSQUERY、TSVECTOR、TXID_SNAPSHOT。

  • ソースデータベースの同期対象オブジェクトに対して DDL 文を実行した場合、ターゲットデータベースでも手動で同じ文を実行し、タスクを再起動する必要があります。

サポートされる DML 操作

INSERT、UPDATE、DELETE 操作のみがサポートされています。

事前準備

  1. ソースの ApsaraDB RDS for PostgreSQL インスタンスの wal_level パラメーターを変更します。

    警告

    wal_level パラメーターを変更した後、変更を有効にするにはインスタンスを再起動する必要があります。ご利用のサービスへの影響を評価し、オフピーク時にこの操作を実行してください。

    1. ApsaraDB RDS コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、インスタンス をクリックします。

    3. ページの左上隅で、インスタンスが配置されているリージョンを選択します。

    4. 対象のインスタンスを見つけて、その ID をクリックします。

    5. 左側のナビゲーションウィンドウで、パラメーター設定 をクリックします。

    6. パラメーター設定 ページで、wal_level パラメーターを見つけ、その値を logical に変更します。

      説明

      詳細については、「インスタンスパラメーターの設定」をご参照ください。

  2. ソースインスタンスのオブジェクトスキーマに基づいて、宛先の AnalyticDB for PostgreSQL インスタンスに必要なデータベース、スキーマ、テーブルを作成します。詳細については、「SQL 構文」をご参照ください。

操作手順

  1. データ同期インスタンスを購入します。詳細については、「DTS インスタンスの購入」をご参照ください。

    説明

    インスタンスを購入する際、[ソースデータベース] を PostgreSQL、[ターゲットデータベース] を [AnalyticDB for PostgreSQL]、[同期トポロジ] を 一方向同期 に設定します。

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

    説明
    • Data Management (DMS) コンソールにリダイレクトされた場合は、右下隅の jiqiren アイコンをクリックし、返回旧版 アイコンをクリックして以前のバージョンの DTS コンソールに戻ることができます。

    • 新しい DTS コンソールを使用している場合は、右下隅の 返回旧版 アイコンをクリックして以前のバージョンに戻ることができます。

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

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

  5. 購入したデータ同期タスクを見つけ、[タスクの設定] をクリックします。

  6. ソースインスタンスと宛先インスタンスを設定します。

    配置源和目标库信息

    セクション

    パラメーター

    説明

    N/A

    同期タスク名

    DTS は自動的にタスク名を生成します。簡単に識別できるように、わかりやすい名前を指定することを推奨します。名前は一意である必要はありません。

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

    インスタンスタイプ

    RDS インスタンス を選択します。

    インスタンスリージョン

    購入ページで選択したソースインスタンスのリージョンです。このパラメーターは変更できません。

    インスタンス ID

    ApsaraDB RDS for PostgreSQL インスタンスの ID を選択します。

    データベース名

    同期したいテーブルが含まれるデータベースの名前を入力します。

    データベースアカウント

    ApsaraDB RDS for PostgreSQL インスタンスの権限を持つデータベースアカウントを入力します。アカウントは選択したデータベースのオーナーである必要があります。

    説明

    ソースが ApsaraDB RDS for PostgreSQL 9.4 インスタンスで、DML 操作のみを同期する場合、アカウントにはレプリケーション権限のみが必要です。

    データベースパスワード

    データベースアカウントのパスワードを入力します。

    宛先インスタンスの詳細

    インスタンスタイプ

    これは AnalyticDB for PostgreSQL に固定されており、変更できません。

    インスタンスリージョン

    購入ページで選択した宛先インスタンスのリージョンです。このパラメーターは変更できません。

    インスタンス ID

    AnalyticDB for PostgreSQL インスタンスの ID を選択します。

    データベース名

    ターゲットデータベースの名前を入力します。

    説明

    このデータベースは AnalyticDB for PostgreSQL インスタンスに存在する必要があります。存在しない場合は、データベースを作成してください。

    データベースアカウント

    AnalyticDB for PostgreSQL インスタンスの初期アカウントを入力します。詳細については、「データベースアカウントの作成と管理」をご参照ください。

    説明

    RDS_SUPERUSER 権限を持つアカウントを入力することもできます。詳細については、「ユーザー権限の管理」をご参照ください。

    データベースパスワード

    データベースアカウントのパスワードを入力します。

  7. ページの右下隅にある [ホワイトリストを設定して次へ] をクリックします。

    ソースまたはターゲットデータベースが ApsaraDB RDS for MySQLApsaraDB for MongoDB などの Alibaba Cloud データベースインスタンスである場合、DTS は自動的に DTS サーバーの CIDR ブロックをインスタンスの IP アドレスホワイトリストに追加します。ソースまたはターゲットデータベースが Elastic Compute Service (ECS) インスタンスでホストされている自己管理データベースである場合、DTS は自動的に DTS サーバーの CIDR ブロックを ECS インスタンスのセキュリティグループルールに追加し、ECS インスタンスがデータベースにアクセスできることを確認する必要があります。自己管理データベースが複数の ECS インスタンスでホストされている場合は、各 ECS インスタンスのセキュリティグループルールに DTS サーバーの CIDR ブロックを手動で追加する必要があります。ソースまたはターゲットデータベースがデータセンターで展開されているか、サードパーティのクラウドサービスプロバイダーによって提供されている自己管理データベースである場合は、DTS がデータベースにアクセスできるように、データベースの IP アドレスホワイトリストに DTS サーバーの CIDR ブロックを手動で追加する必要があります。詳細については、「DTS サーバーの IP アドレスをホワイトリストに追加」をご参照ください。

    警告

    DTS サーバーのパブリック IP アドレスの CIDR ブロックを自動または手動で追加すると、セキュリティリスクが生じる可能性があります。このプロダクトを使用することにより、これらの潜在的なリスクを認識し、受け入れるものとします。基本的なセキュリティ保護を実装する必要があります。これらの保護には、パスワードセキュリティの強化、CIDR ブロックのオープンポートの制限、内部 API 通信での認証の使用、不要な CIDR ブロックの定期的な確認と制限などが含まれますが、これらに限定されません。または、専用回線、VPN Gateway、Smart Access Gateway などの内部ネットワーク経由でデータベースに接続することもできます。

  8. 同期ポリシーを設定し、同期するオブジェクトを選択します。

    选择同步对象

    セクション

    パラメーター

    説明

    同期ポリシー

    初期化同期

    デフォルトでは、[初期完全データ同期] が選択されています。事前チェック後、DTS は選択したオブジェクトの既存データをソースインスタンスから宛先インスタンスに同期します。このデータは、後続の増分同期のベースラインとして機能します。

    既存テーブルの処理モード

    • [データをクリア]

      事前チェックフェーズで「宛先テーブルが空です」のチェックをスキップします。完全データ同期の前に宛先テーブルからデータをクリアします。このモードは、テスト完了後の本番同期に適しています。

    • エラーを無視して続行

      事前チェックフェーズで「宛先テーブルが空です」のチェックをスキップします。完全データ同期中にデータを直接追加します。このモードは、複数のテーブルのデータを単一のテーブルに集約するシナリオに適しています。

    同期操作タイプ

    ビジネスニーズに基づいて同期する操作タイプを選択します:

    説明

    AlterTable はサポートされていません。

    • [Insert]

    • [Update]

    • [Delete]

    • AlterTable

    同期するオブジェクトの選択

    N/A

    ソースオブジェクト ボックスで同期するテーブルを選択し、向右小箭头 アイコンをクリックして 選択中のオブジェクト ボックスに移動します。

    説明
    • オブジェクトはテーブルレベルでのみ選択できます。

    • 宛先テーブルの列名をソーステーブルと異なるものにする必要がある場合は、DTS の列マッピング機能を使用します。詳細については、「宛先インスタンスでのオブジェクト名の設定」をご参照ください。

    オブジェクト名のマッピング

    N/A

    宛先インスタンスで同期されるオブジェクトの名前を変更します。詳細については、「データベース、テーブル、列のマッピング」をご参照ください。

    重要

    列マッピングを使用し、テーブル全体を同期しない場合、またはソースと宛先のテーブルスキーマが一致しない場合、ソーステーブルにのみ存在する列のデータは宛先側で失われます。

    接続再試行期間

    N/A

    DTS がソースまたは宛先インスタンスに接続できない場合、デフォルトで 720 分 (12 時間) 再試行します。カスタムの再試行期間を指定することもできます。指定された期間内に DTS がソースまたは宛先インスタンスに再接続すると、同期タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。

    説明

    接続再試行中のタスク実行時間に対して課金されます。ビジネスニーズに基づいて再試行期間をカスタマイズするか、ソースと宛先のインスタンスがリリースされたらすぐに DTS インスタンスをリリースしてください。

  9. 上記の設定を完了した後、ページの右下隅にある [事前チェックして開始] をクリックします。

    説明
    • 同期タスクが開始される前に事前チェックが実行され、合格した場合にのみタスクを開始できます。

    • 事前チェックが失敗した場合は、失敗した項目の横にある 提示 アイコンをクリックして詳細を表示します。

      • 原因に基づいて問題を修正し、再度事前チェックを実行できます。

      • 警告をトリガーした項目を修正する必要がない場合は、無視 または [警告を無視して事前チェックを再実行] をクリックして警告をスキップし、再度事前チェックを実行できます。

  10. 事前チェック ダイアログボックスに 事前チェック完了 と表示されたら、事前チェック ダイアログボックスを閉じます。同期タスクは自動的に開始されます。

  11. タスクが初期化を完了し、同期中 状態になるまで待ちます。

    データ同期 ページでデータ同期タスクのステータスを表示できます。