Todos los productos
Search
Centro de documentos

AnalyticDB:Sincronizar datos de una instancia de ApsaraDB RDS for PostgreSQL a una instancia de AnalyticDB for PostgreSQL

Última actualización: Sep 23, 2026

Utilice Data Transmission Service (DTS) para replicar los datos de un origen de ApsaraDB RDS for PostgreSQL hacia una instancia de AnalyticDB for PostgreSQL, con el fin de analizarlos y generar reportes. DTS se encarga tanto de la carga inicial completa como de los cambios incrementales continuos (INSERT, UPDATE, DELETE), por lo que su base de datos analítica se mantiene sincronizada sin necesidad de exportaciones manuales.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Tablas con claves primarias para sincronizar. DTS utiliza replicación lógica para capturar los cambios en los datos, por lo que no es posible rastrear las modificaciones a nivel de fila en tablas sin clave primaria.

  • Una instancia de AnalyticDB for PostgreSQL de destino. Para obtener más información, consulte Crear una instancia de AnalyticDB for PostgreSQL.

Limitaciones

Revise estas limitaciones antes de configurar la tarea de sincronización:

  • La sincronización de esquemas no es compatible. DTS no copia los esquemas del origen al destino. Cree manualmente la base de datos, los esquemas y las tablas de destino antes de iniciar la tarea.

  • Solo es posible seleccionar tablas como objetos para sincronizar. Las vistas, secuencias y otros tipos de objetos no son compatibles.

  • Tipos de datos no compatibles: BIT, VARBIT, GEOMETRY, UUID, TSQUERY, TSVECTOR y TXID_SNAPSHOT. Las columnas con estos tipos se omiten durante la sincronización.

  • Las operaciones DDL no se propagan automáticamente. Si ejecuta una instrucción DDL en una tabla de origen durante la sincronización, aplique la misma instrucción DDL en la tabla de destino y luego reinicie la tarea de sincronización.

  • Una tarea por base de datos. Cada tarea de sincronización abarca una sola base de datos de origen. Para sincronizar varias bases de datos, cree una tarea distinta para cada una.

  • El cambio entre nodo principal y secundario solo es compatible con ApsaraDB RDS for PostgreSQL 11. En otras versiones de RDS y en bases de datos PostgreSQL autogestionadas, este cambio provoca que la tarea termine con errores. Si necesita esta compatibilidad en una instancia de PostgreSQL 11, establezca el parámetro rds_failover_slot_mode en sync antes de ejecutar el cambio. Para obtener más información, consulte Conmutación por error de ranuras de replicación lógica.

Facturación

Tipo de sincronización

Costo

Sincronización de esquemas y sincronización completa de datos

Sin costo

Sincronización incremental de datos

Con costo. Para obtener más información, consulte Descripción general de facturación.

Consideraciones importantes

Transacciones de larga duración y acumulación de WAL

DTS utiliza registros de escritura anticipada (WAL) para capturar los cambios incrementales. Si una transacción de larga duración permanece abierta en la base de datos de origen, PostgreSQL no puede eliminar los segmentos WAL generados antes de que dicha transacción comenzara. Estos segmentos se acumulan en el disco hasta que la transacción se confirma o se revierte. Si el disco de origen se llena, la tarea de sincronización termina con errores.

Para reducir este riesgo, supervise las transacciones abiertas en la instancia de origen durante la sincronización activa y mantenga las transacciones cortas.

Tablas nuevas creadas después de iniciar la sincronización

DTS detecta las tablas que se crean en la base de datos de origen después de iniciar la tarea. Sin embargo, estas tablas requieren que primero se configure su identidad a nivel de fila:

ALTER TABLE schema.table REPLICA IDENTITY FULL;

Ejecute esta instrucción en cada tabla nueva antes de que DTS la procese, para garantizar que los cambios de fila se capturen correctamente.

Preparar la instancia de origen

DTS utiliza la replicación lógica de PostgreSQL para capturar los cambios incrementales. Este tipo de replicación requiere que el parámetro wal_level esté establecido en logical.

Aviso

Modificar wal_level requiere reiniciar la instancia. Planifique este cambio fuera del horario de mayor actividad para minimizar el impacto en su carga de trabajo.

  1. Inicie sesión en la consola de ApsaraDB RDS.

  2. En el panel de navegación izquierdo, haga clic en Instances.

  3. En la barra de navegación superior, seleccione la región donde reside la instancia de ApsaraDB RDS for PostgreSQL.

  4. Haga clic en el identificador de la instancia.

  5. En el panel de navegación izquierdo, haga clic en Parameters.

  6. En la página Parameters, busque wal_level y establezca su valor en logical. Para obtener más información, consulte Modificar los parámetros de una instancia de ApsaraDB RDS for PostgreSQL.

  7. Reinicie la instancia para aplicar el cambio.

Preparar la instancia de destino

Cree la base de datos, el esquema y las tablas de destino en la instancia de AnalyticDB for PostgreSQL, tomando como referencia el esquema de origen. DTS no crea estos objetos automáticamente. Para consultar la sintaxis SQL, vea Sintaxis SQL.

Crear una tarea de sincronización

  1. Adquiera una instancia de sincronización de datos. Para obtener más información, consulte Adquirir una instancia de DTS.

    En la página de compra, establezca Source Instance en PostgreSQL , configure Destination Instance como AnalyticDB for PostgreSQL y defina Synchronization Topology en One-Way Synchronization .
  2. Inicie sesión en la consola de DTS.

    Si el sistema lo redirige a la consola de Data Management (DMS), coloque el puntero sobre el ícono jiqiren en la esquina inferior derecha y haga clic en el ícono Return to old version para volver a la consola de DTS. Si ya se encuentra en la versión nueva de la consola de DTS, haga clic en el ícono Back to Old Version ubicado en la esquina inferior derecha.
  3. En el panel de navegación izquierdo, haga clic en Data Synchronization.

  4. En la parte superior de la página Data Synchronization Tasks, seleccione la región donde reside la instancia de destino.

  5. Busque la instancia de sincronización de datos y haga clic en Configure Task dentro de la columna Actions.

  6. Configure las instancias de origen y de destino.

    Configure the source and destination instances

    Detalles de la instancia de origen

    Parámetro

    Descripción

    Synchronization task name

    Nombre que DTS genera automáticamente. Especifique un nombre descriptivo para identificar la tarea con facilidad. No es necesario que sea único.

    Instance type

    Seleccione RDS Instance.

    Instance region

    Región de origen seleccionada en la página de compra. Este valor no se puede modificar.

    Instance ID

    Identificador de la instancia de ApsaraDB RDS for PostgreSQL.

    Database name

    Nombre de la base de datos de origen.

    Database account

    Cuenta con privilegios de la instancia de ApsaraDB RDS for PostgreSQL. Esta cuenta debe ser propietaria de la base de datos seleccionada. Si el origen ejecuta PostgreSQL 9.4 y solo sincroniza operaciones DML, basta con el permiso REPLICATION.

    Database password

    Contraseña de la cuenta de la base de datos.

    Detalles de la instancia de destino

    Parámetro

    Descripción

    Instance type

    Fijo en AnalyticDB for PostgreSQL.

    Instance region

    Región de destino seleccionada en la página de compra. Este valor no se puede modificar.

    Instance ID

    Identificador de la instancia de AnalyticDB for PostgreSQL de destino.

    Database name

    Nombre de la base de datos de destino. La base de datos ya debe existir en la instancia. De lo contrario, primero cree una base de datos.

    Database account

    Cuenta inicial de la instancia de AnalyticDB for PostgreSQL. También puede usar una cuenta con el permiso RDS_SUPERUSER. Para obtener más información, consulte Crear una cuenta de base de datos y Gestionar usuarios y permisos.

    Database password

    Contraseña de la cuenta de la base de datos.

  7. Haga clic en Set Whitelist and Next. DTS agrega automáticamente sus bloques CIDR de servidor a la lista blanca de direcciones IP de las instancias de base de datos de Alibaba Cloud. Para bases de datos autogestionadas alojadas en instancias de Elastic Compute Service (ECS), DTS añade los bloques CIDR a las reglas del security group de ECS; si la base de datos abarca varias instancias de ECS, agregue los bloques CIDR a cada instancia de forma manual. En el caso de bases de datos implementadas en centros de datos o proporcionadas por terceros, añada los bloques CIDR manualmente. Para obtener más información, consulte Agregar los bloques CIDR de los servidores de DTS.

    Aviso

    Agregar los bloques CIDR de los servidores de DTS a su lista blanca o a las reglas del security group aumenta la exposición de la red. Antes de continuar, evalúe las implicaciones de seguridad y tome las medidas adecuadas. Por ejemplo, use credenciales seguras, restrinja los puertos expuestos, audite las llamadas a la API, revise periódicamente las reglas de la lista blanca y conéctese mediante Express Connect, VPN Gateway o Smart Access Gateway (SAG) en lugar de usar internet público.

  8. Configure la política de sincronización y los objetos que desea sincronizar.

    Select the objects to be synchronized

    Parámetro

    Descripción

    Initialize synchronization

    La opción Initial Full Data Synchronization está seleccionada de forma predeterminada. DTS sincroniza todos los datos existentes de la base de datos de origen antes de comenzar la sincronización incremental.

    Processing mode of conflicting tables

    Clear Data: omite la comprobación de tablas vacías durante la verificación previa y borra los datos de la tabla de destino antes de la carga completa. Útil cuando prueba una tarea y luego cambia a datos de producción. Ignore: omite la comprobación de tablas vacías y anexa los datos a los que ya existen en la tabla de destino. Recomendado cuando combina datos de varias tablas de origen en una sola tabla de destino.

    Synchronization type

    Seleccione los tipos de operación que desea sincronizar: Insert, Update y Delete. La opción AlterTable aparece en la lista, pero no es compatible.

    Select the objects to be synchronized

    En la sección Available, seleccione una o más tablas y haga clic en el ícono Rightwards arrow para moverlas a la sección Selected. Solo es posible seleccionar tablas. Para cambiar el nombre de los objetos sincronizados en el destino, utilice la función de asignación de nombres de objetos. Para obtener más información, consulte Asignación de nombres de objetos.

    Retry time for failed connections

    Valor predeterminado: 720 minutos (12 horas). Si DTS no logra conectarse al origen o al destino dentro de este periodo, la tarea termina con errores. Ajústelo según el tiempo de inactividad que admita su entorno. La facturación de DTS continúa durante los reintentos, por lo que debe liberar la instancia de DTS de inmediato si da de baja el origen o el destino.

  9. Haga clic en Precheck.

    DTS ejecuta una verificación previa antes de iniciar la tarea. Si esta falla, haga clic en el ícono 提示 junto a cada elemento con errores para consultar los detalles. Corrija los problemas y vuelva a ejecutar la verificación previa. También puede ignorar elementos específicos con errores y repetir la verificación si dichos problemas no afectan su caso de uso.
  10. Cuando aparezca el mensaje Precheck Passed, cierre el cuadro de diálogo Precheck. La tarea de sincronización se inicia automáticamente.

  11. En la página Synchronization Tasks, espere a que la tarea pase al estado Synchronizing. Esto indica que la sincronización inicial completa de datos finalizó y que la sincronización incremental está activa.

    View the status of a data synchronization task

Pasos siguientes

  • Para cambiar el nombre de tablas o columnas en la base de datos de destino, consulte Cambiar el nombre de un objeto que se va a sincronizar.

  • Para supervisar la latencia de sincronización y el estado de la tarea, consulte los detalles de la tarea en la consola de DTS.