All Products
Search
Document Center

Data Transmission Service:Synchronize data from PolarDB-X 1.0 to AnalyticDB for PostgreSQL

Last Updated:May 30, 2026

Data Transmission Service (DTS) enables you to synchronize data from PolarDB-X 1.0 to AnalyticDB for PostgreSQL. This feature lets you easily transfer and centralize your business data for analysis.

Prerequisites

  • The storage type of the PolarDB-X 1.0 instance must be RDS for MySQL. PolarDB for MySQL is not supported.

  • Create a destination AnalyticDB for PostgreSQL instance. The storage space of the destination instance must be larger than the amount of storage used by the source PolarDB-X 1.0 instance. For more information, see Create an instance.

  • Create a database in the destination AnalyticDB for PostgreSQL instance to store the synchronized data. For more information, see CREATE DATABASE.

Precautions

Type

Description

Source database limits

  • Tables to be synchronized must have a PRIMARY KEY constraint or a UNIQUE constraint. Tables with only a UNIQUE constraint do not support schema synchronization. We recommend using a PRIMARY KEY constraint. The fields in the key must be unique. Otherwise, duplicate data may appear in the destination database. Synchronization of tables with a secondary index is not supported.

  • If you synchronize data at the table level and need to edit objects, such as mapping table or column names, do not select more than 5,000 tables for a single task. If you have more than 5,000 tables, split them into multiple tasks or configure a task to synchronize the entire database. Otherwise, an error may be reported after you submit the task.

  • For the RDS for MySQL instances attached to the PolarDB-X 1.0 instance, ensure that the binlog_row_image parameter is set to full. Otherwise, an error is reported during the precheck and the data synchronization task cannot start.

    Note

    For an incremental synchronization task, DTS requires that the local binary logs of the source database are retained for at least 24 hours. For a task that includes both full and incremental synchronization, DTS requires that the local binary logs are retained for at least 7 days. You can change the retention period to 24 hours after the full synchronization is complete. If the retention period is shorter than required, the task may fail because DTS cannot obtain the binary logs. In extreme cases, this may cause data inconsistency or data loss. Issues caused by a binary log retention period that is shorter than the required period are not covered by the DTS Service-Level Agreement (SLA).

  • The storage type of the PolarDB-X 1.0 instance can be RDS for MySQL. PolarDB for MySQL is not supported.

  • Operational limits on the source database:

    • If you switch the network type of the PolarDB-X 1.0 instance during synchronization, update the network connection information for the synchronization link after the switch is successful.

    • During synchronization, do not perform operations on the source instance such as scaling (for example, scaling its attached ApsaraDB RDS for MySQL instance, or changing the distribution of physical tables that correspond to logical tables in ApsaraDB RDS for MySQL even if the ApsaraDB RDS for MySQL instance is not scaled), migrating hot tables, changing the shard key, or making DDL changes. Otherwise, the data synchronization task will fail or data inconsistencies will occur.

    • If you change the partition key of a source table, and the primary key of the corresponding destination table does not include the partition key, data loss may occur in the destination database.

      • Reason: A PolarDB-X 1.0 instance has multiple ApsaraDB RDS for MySQL instances attached to it. DTS maintains independent synchronization links for each ApsaraDB RDS for MySQL instance. Changing a partition key causes data to be deleted from one ApsaraDB RDS for MySQL instance and inserted into another. Because these links execute independently, the order of the DELETE and INSERT operations can be disrupted. If the primary key of the destination database does not include the partition key, a DELETE operation that is executed later can incorrectly delete the newly inserted data.

      • Recommendation: To prevent data loss from out-of-order operations, ensure the primary key of the destination table includes the partition key columns of the source table.

    • Do not run DDL operations that change database or table schemas during schema synchronization or full synchronization. Otherwise, the synchronization task fails.

      Note

      During full synchronization, DTS queries the source database. This creates metadata locks that may block DDL operations on the source database.

  • The source PolarDB-X 1.0 instance must be version 5.2 or later.

Other limits

  • Append-optimized (AO) tables are not supported as destination tables.

  • Synchronization of the following data types is not supported: GEOMETRY, CURVE, SURFACE, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, and GEOMETRYCOLLECTION.

  • Synchronization of INDEX, PARTITION, VIEW, PROCEDURE, FUNCTION, TRIGGER, and FK (foreign key) is not supported.

  • If you use column mapping for a partial table synchronization, or if the source and destination table schemas are different, data in columns that exist in the source but not the destination will be lost.

  • Read-only instances for PolarDB-X 1.0 compute resources are not supported.

  • Only horizontal splitting (sharding) is supported for PolarDB-X 1.0 storage resources. Vertical splitting is not supported.

  • A synchronization task for a PolarDB-X 1.0 instance is a distributed task. Each attached RDS for MySQL instance corresponds to a synchronization sub-task. You can view the status of sub-tasks on the Task Topology page.

  • Incremental data synchronization relies on continuous XA transactions in the source PolarDB-X 1.0 instance to ensure data consistency. If this continuity is disrupted, for example when modifying synchronization objects or during disaster recovery of the incremental data capture module, uncommitted XA transactions may be lost.

  • If the table to synchronize has a primary key, the primary key column in the destination table must match the source table. If the table to synchronize lacks a primary key, the primary key column in the destination table must match the distribution key.

  • The unique key in the destination table—including the primary key column—must include all columns in the distribution key.

  • Before you synchronize data, evaluate the performance of the source and destination databases. We recommend that you perform data synchronization during off-peak hours. Initial full data synchronization consumes read and write resources on both the source and destination databases, which may increase the database load.

  • Initial full data synchronization runs concurrent INSERT operations. This can cause table fragmentation in the destination database. As a result, the tablespace of the destination instance may be larger than that of the source instance after the initial synchronization is complete.

  • During DTS synchronization, do not write data to the destination database using methods other than DTS. This can cause data inconsistency between the source and destination databases.

  • If a task fails, DTS support staff will attempt to restore it within eight hours. During restoration, they may restart the task or adjust its parameters.

    Note

    Only DTS task parameters are modified—not database parameters. Parameters that may be adjusted include those listed in Modify instance parameters.

Billing

Synchronization type

Pricing

Schema synchronization and full data synchronization

Free of charge.

Incremental data synchronization

Charged. For more information, see Billing overview.

Supported SQL operations

Operation type

SQL operations

DML

INSERT, UPDATE, DELETE

Note

The system automatically converts UPDATE statements to REPLACE INTO statements when writing data to a destination AnalyticDB for PostgreSQL instance. If an UPDATE statement modifies a primary key, the system instead converts it into a DELETE statement and an INSERT statement.

Permissions required for database accounts

Database

Required permissions

Account creation and authorization method

Source PolarDB-X 1.0 instance

Read permissions on the synchronization objects.

Account Management.

Destination AnalyticDB for PostgreSQL instance

Read and write permissions on the destination database.

Create and manage users and User Permission Management.

Note

You can also use the initial account or an account with RDS_SUPERUSER permissions.

Procedure

  1. Go to the data synchronization task list page in the destination region. You can do this in one of two ways.

    DTS console

    1. Log on to the DTS console.

    2. In the navigation pane on the left, click Data Synchronization.

    3. In the upper-left corner of the page, select the region where the synchronization instance is located.

    DMS console

    Note

    The actual steps may vary depending on the mode and layout of the DMS console. For more information, see Simple mode console and Customize DMS console layout and style.

    1. Log on to the DMS console.

    2. In the top menu bar, choose Data + AI > DTS (DTS) > Data Synchronization.

    3. To the right of Data Synchronization Tasks, select the region of the synchronization instance.

  2. Click Create Task to open the task configuration page.

  3. Configure the source and destination databases.

    Category

    Configuration

    Description

    None

    Task Name

    DTS automatically generates a task name. We recommend that you specify a descriptive name for easy identification. The name does not need to be unique.

    Source Database

    Select Existing Connection

    • Select the registered database instance with DTS from the drop-down list. The database information below is automatically configured.

      Note

      In the DMS console, this configuration item is Select a DMS database instance.

    • If you have not registered the database instance or do not need to use a registered instance, manually configure the database information below.

    Database Type

    Select PolarDB-X 1.0.

    Access Method

    Select Alibaba Cloud Instance.

    Instance Region

    Select the region where the source PolarDB-X 1.0 instance resides.

    Replicate Data Across Alibaba Cloud Accounts

    This example shows synchronization within the same Alibaba Cloud account. Select No.

    Instance ID

    Select the ID of the source PolarDB-X 1.0 instance.

    Database Account

    Enter the database account of the source PolarDB-X 1.0 instance. For information about the required permissions, see Permissions required for database accounts.

    Database Password

    Enter the password for the specified database account.

    Destination Database

    Select Existing Connection

    • Select the registered database instance with DTS from the drop-down list. The database information below is automatically configured.

      Note

      In the DMS console, this configuration item is Select a DMS database instance.

    • If you have not registered the database instance or do not need to use a registered instance, manually configure the database information below.

    Database Type

    Select AnalyticDB for PostgreSQL.

    Access Method

    Select Alibaba Cloud Instance.

    Instance Region

    Select the region where the destination AnalyticDB for PostgreSQL instance resides.

    Instance ID

    Select the ID of the destination AnalyticDB for PostgreSQL instance.

    Database Name

    Enter the name of the database in the destination AnalyticDB for PostgreSQL instance that will receive the synchronized objects.

    Database Account

    Enter the database account of the destination AnalyticDB for PostgreSQL instance. For information about the required permissions, see Permissions required for database accounts.

    Database Password

    Enter the password for the specified database account.

  4. After you complete the configuration, click Test Connectivity and Proceed at the bottom of the page.

    Note

    Ensure that the IP address blocks of the DTS service are added to the security settings of the source and destination databases, either automatically or manually, to allow access from DTS servers. For more information, see Add the IP address whitelist of DTS servers.

  5. Configure the task objects.

    1. On the Configure Objects page, specify the objects to synchronize.

      Configuration

      Description

      Synchronization Types

      DTS always selects Incremental Data Synchronization. By default, you must also select Schema Synchronization and Full Data Synchronization. After the precheck, DTS initializes the destination cluster with the full data of the selected source objects, which serves as the baseline for subsequent incremental synchronization.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Checks for tables with the same names in the destination database. If any tables with the same names are found, an error is reported during the precheck and the data synchronization task does not start. Otherwise, the precheck is successful.

        Note

        If you cannot delete or rename the table with the same name in the destination database, you can map it to a different name in the destination. For more information, see Database Table Column Name Mapping.

      • Ignore Errors and Proceed: Skips the check for tables with the same name in the destination database.

        Warning

        Selecting Ignore Errors and Proceed may cause data inconsistency and put your business at risk. For example:

        • If the table schemas are consistent and a record in the destination database has the same primary key or unique key value as a record in the source database:

          • During full data synchronization, DTS retains the destination record and skips the source record.

          • During incremental synchronization, DTS overwrites the destination record with the source record.

        • If the table schemas are inconsistent, data initialization may fail. This can result in only partial data synchronization or a complete synchronization failure. Use with caution.

      Storage Engine Type

      Select the storage engine type for the destination tables. The default value is Beam.

      Note

      This parameter is available only when the kernel version of the destination AnalyticDB for PostgreSQL instance is v7.0.6.6 or later, and Synchronization Types is selected for Schema Synchronization.

      Capitalization of Object Names in Destination Instance

      Configure the case-sensitivity policy for database, table, and column names in the destination instance. By default, the DTS default policy is selected. You can also choose to use the default policy of the source or destination database. For more information, see Case policy for destination object names.

      Source Objects

      In the Source Objects box, click the objects, and then click 向右 to move them to the Selected Objects box.

      Note

      We recommend that you select objects at the table level. If you select an entire database as a synchronization object, changes to add or delete tables in the source database are not synchronized to the destination database.

      Selected Objects

      • To rename a single object in the destination instance, right-click the object in the Selected Objects box. For more information, see Map a single object name.

      • To rename multiple objects in bulk, click Batch Edit in the upper-right corner of the Selected Objects box. For more information, see Map multiple object names in bulk.

      Note
      • If you use the object name mapping feature, the synchronization of other objects that depend on the mapped object may fail.

      • To set a WHERE clause to filter data, right-click the table in the Selected Objects box, and then set the filter condition in the dialog box that appears. For more information, see Set a filter condition.

    2. Click Next: Advanced Settings.

      Configuration

      Description

      Dedicated Cluster for Task Scheduling

      By default, DTS uses a shared cluster for tasks, so you do not need to make a selection. For greater task stability, you can purchase a dedicated cluster to run the DTS synchronization task. For more information, see What is a DTS dedicated cluster?.

      Retry Time for Failed Connections

      If the connection to the source or destination database fails after the synchronization task starts, DTS reports an error and immediately begins to retry the connection. The default retry duration is 720 minutes. You can customize the retry time to a value from 10 to 1,440 minutes. We recommend a duration of 30 minutes or more. If the connection is restored within this period, the task resumes automatically. Otherwise, the task fails.

      Note
      • If multiple DTS instances (e.g., Instance A and B) share a source or destination, DTS uses the shortest configured retry duration (e.g., 30 minutes for A, 60 for B, so 30 minutes is used) for all instances.

      • DTS charges for task runtime during connection retries. Set a custom duration based on your business needs, or release the DTS instance promptly after you release the source/destination instances.

      Retry Time for Other Issues

      If a non-connection issue (e.g., a DDL or DML execution error) occurs, DTS reports an error and immediately retries the operation. The default retry duration is 10 minutes. You can also customize the retry time to a value from 1 to 1,440 minutes. We recommend a duration of 10 minutes or more. If the related operations succeed within the set retry time, the synchronization task automatically resumes. Otherwise, the task fails.

      Important

      The value of Retry Time for Other Issues must be less than that of Retry Time for Failed Connections.

      Enable Throttling for Full Data Synchronization

      During full data synchronization, DTS consumes read and write resources from the source and destination databases, which can increase their load. To mitigate pressure on the destination database, you can limit the migration rate by setting Queries per second (QPS) to the source database, RPS of Full Data Migration, and Data migration speed for full migration (MB/s).

      Note

      Enable Throttling for Incremental Data Synchronization

      You can also limit the incremental synchronization rate to reduce pressure on the destination database by setting RPS of Incremental Data Synchronization and Data synchronization speed for incremental synchronization (MB/s).

      Environment Tag

      You can select an environment tag to identify the instance as needed. No selection is required for this example.

      Configure ETL

      Choose whether to enable the extract, transform, and load (ETL) feature. For more information, see What is ETL? Valid values:

      Monitoring and Alerting

      Choose whether to set up alerts. If the synchronization fails or the latency exceeds the specified threshold, DTS sends a notification to the alert contacts.

    3. Optional: After you complete the preceding configurations, click Next: Configure Database and Table Fields. Set the Type, Primary Key Column, and Distribution Key for the synchronized tables in the destination AnalyticDB for PostgreSQL instance.

      Note
      • This step is available only if you select Schema Synchronization for Synchronization Types when you configure the task objects. You can select All for Definition Status to make changes.

      • The Primary Key Column can be a composite key that consists of multiple columns. You must select one or more columns from the Primary Key Column to use as the Distribution Key. For more information, see Manage data tables and Define table distribution.

  6. Save the task and perform a precheck.

    • To view the parameters for configuring this instance via an API operation, hover over the Next: Save Task Settings and Precheck button and click Preview OpenAPI parameters in the tooltip.

    • If you have finished viewing the API parameters, click Next: Save Task Settings and Precheck at the bottom of the page.

    Note
    • Before a synchronization task starts, DTS performs a precheck. You can start the task only if the precheck passes.

    • If the precheck fails, click View Details next to the failed item, fix the issue as prompted, and then rerun the precheck.

    • If the precheck generates warnings:

      • For non-ignorable warning, click View Details next to the item, fix the issue as prompted, and run the precheck again.

      • For ignorable warnings, you can bypass them by clicking Confirm Alert Details, then Ignore, and then OK. Finally, click Precheck Again to skip the warning and run the precheck again. Ignoring precheck warnings may lead to data inconsistencies and other business risks. Proceed with caution.

  7. Purchase the instance.

    1. When the Success Rate reaches 100%, click Next: Purchase Instance.

    2. On the Purchase page, select the billing method and link specifications for the data synchronization instance. For more information, see the following table.

      Category

      Parameter

      Description

      New Instance Class

      Billing Method

      • Subscription: You pay upfront for a specific duration. This is cost-effective for long-term, continuous tasks.

      • Pay-as-you-go: You are billed hourly for actual usage. This is ideal for short-term or test tasks, as you can release the instance at any time to save costs.

      Resource Group Settings

      The resource group to which the instance belongs. The default is default resource group. For more information, see What is Resource Management?.

      Instance Class

      DTS offers synchronization specifications at different performance levels that affect the synchronization rate. Select a specification based on your business requirements. For more information, see Data synchronization link specifications.

      Subscription Duration

      In subscription mode, select the duration and quantity of the instance. Monthly options range from 1 to 9 months. Yearly options include 1, 2, 3, or 5 years.

      Note

      This option appears only when the billing method is Subscription.

    3. Read and select the checkbox for Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Click Buy and Start, and then click OK in the OK dialog box.

      You can monitor the task progress on the data synchronization page.