Todos los productos
Search
Centro de documentos

Data Transmission Service:Migrar una base de datos PostgreSQL autogestionada a RDS for PostgreSQL

Última actualización: Sep 17, 2026

Este tema describe cómo usar Data Transmission Service (DTS) para migrar datos desde una base de datos PostgreSQL autogestionada hacia una instancia de RDS for PostgreSQL. DTS admite la migración de esquemas, la migración completa de datos y la migración incremental de datos. La combinación de estos tipos de migración permite trasladar su base de datos PostgreSQL autogestionada a la nube sin tiempo de inactividad.

Requisitos previos

  • Se creó una instancia de destino de RDS for PostgreSQL con un espacio de almacenamiento mayor al que utiliza la base de datos PostgreSQL autogestionada de origen. Para obtener más información sobre cómo crear una instancia de destino de RDS for PostgreSQL, consulte Create an RDS for PostgreSQL instance.

    Nota
    • Para conocer las versiones compatibles de las bases de datos de origen y de destino, consulte Overview of migration scenarios.

    • Para garantizar la compatibilidad, la base de datos de destino debe ejecutar la misma versión que la de origen o una posterior. Si migra los datos a una versión anterior, podrían presentarse problemas de compatibilidad.

  • Cree una base de datos en la instancia de destino de RDS for PostgreSQL para almacenar los datos migrados. Para obtener más detalles, consulte Create a database.

Precauciones

Tipo

Descripción

Límites de la base de datos de origen

  • El servidor que aloja la base de datos de origen debe contar con suficiente ancho de banda de salida; un ancho de banda insuficiente afectará la velocidad de migración.

  • Las tablas seleccionadas para la migración deben tener una clave primaria o una restricción única, y los campos de dicha restricción deben ser únicos. De lo contrario, podrían generarse datos duplicados en la base de datos de destino.

    Nota

    Si la tabla de destino no fue creada por Data Transmission Service (DTS) porque no seleccionó Schema Migration como uno de los Migration Types, asegúrese de que la tabla de destino tenga la misma clave primaria o restricción única no nula que la tabla de origen. De lo contrario, podrían generarse datos duplicados en la base de datos de destino.

    El nombre de la base de datos que se va a migrar no puede contener guiones (-), por ejemplo, dts-testdata.

  • Si selecciona tablas como objetos de migración y necesita editarlas (por ejemplo, asignando nombres de tablas o columnas), una sola tarea de migración admite hasta 1,000 tablas. Si supera este límite, se producirá un error al enviar la tarea. En ese caso, divida las tablas en varias tareas o configure una tarea para migrar toda la base de datos.

  • DTS no migra tablas temporales, disparadores internos ni ciertas funciones (como las escritas en lenguaje C y las funciones internas de tipo PROCEDURE y FUNCTION) desde la base de datos de origen. DTS admite la migración de algunos tipos de datos personalizados (COMPOSITE, ENUM o RANGE) y de las siguientes restricciones: clave primaria, clave externa, restricción única y CHECK.

  • Para una migración incremental de datos, aplican los siguientes requisitos de write-ahead logging (WAL):

    • El parámetro wal_level debe establecerse en logical.

    • En una tarea de migración incremental de datos, el WAL de la base de datos de origen debe conservarse durante más de 24 horas. Para una tarea que incluye tanto la migración completa como la incremental, DTS requiere que el WAL se conserve durante al menos 7 días. Una vez finalizada la migración completa de datos, puede reducir el periodo de retención a más de 24 horas. Si DTS no logra obtener el WAL necesario, la tarea de migración podría fallar. En casos extremos, esto puede provocar inconsistencia o pérdida de datos. Los problemas derivados de un periodo de retención del WAL inferior al requerido no están cubiertos por el Acuerdo de Nivel de Servicio (SLA) de DTS.

  • Límites en las operaciones de la base de datos de origen:

    • Si ejecuta un failover entre el nodo principal y el secundario en la base de datos PostgreSQL autogestionada de origen, la migración fallará.

    • Durante las fases de migración de esquemas y de migración completa de datos, no ejecute operaciones DDL, ya que provocarán el fallo de la tarea de migración.

    • Debido a las limitaciones de las suscripciones lógicas, si una instancia de migración que incluye migración incremental de datos está en ejecución y el tamaño de una fila individual por migrar supera los 256 MB tras un cambio incremental, la instancia de migración fallará de forma irrecuperable y deberá volver a configurarla.

  • Si la base de datos de origen tiene transacciones de larga duración y la instancia está configurada para una tarea de migración incremental, el write-ahead logging (WAL) generado antes de confirmar dichas transacciones no se podrá eliminar. Esto puede provocar la acumulación de WAL y agotar el espacio en disco de la base de datos de origen.

  • Si actualiza la versión principal de la base de datos de origen mientras una instancia de migración está en ejecución, la instancia fallará de forma irrecuperable y deberá volver a configurarla.

  • Las tablas con columnas generadas en PostgreSQL 18 no admiten migración. Si configura la migración para estas tablas, las operaciones DML sobre ellas se bloquearán.

Otros límites

  • Los datos pueden presentar inconsistencias entre los nodos principal y secundario de la base de datos de origen debido al retraso de replicación. Al migrar los datos, utilice el nodo principal de la base de datos de origen como fuente de migración.

  • DTS migra solo una base de datos por tarea. Para migrar varias bases de datos, configure una tarea independiente para cada una.

  • DTS no admite la migración de tablas de la extensión TimescaleDB, tablas con herencia entre esquemas ni tablas con índices únicos basados en expresiones.

  • Los esquemas creados por plugins no se pueden migrar y no estarán disponibles para su selección en la consola durante la configuración de la tarea.

  • Si una tabla por migrar contiene una columna de tipo SERIAL, se crea automáticamente una secuencia para esa columna en la base de datos de origen. Por lo tanto, cuando configure los Source Objects, si los Migration Types incluyen Schema Migration, le recomendamos seleccionar también Sequence o migrar todo el esquema. De lo contrario, la instancia de migración podría fallar.

  • En las tareas que incluyen migración incremental de datos, debe ejecutar el comando ALTER TABLE schema.table REPLICA IDENTITY FULL; en las tablas por migrar de la base de datos de origen antes de escribir datos en ellas. Esto garantiza la consistencia de los datos de las tablas en los dos escenarios descritos a continuación. Para evitar interbloqueos, evite operaciones que bloqueen tablas mientras se ejecuta este comando. Si omite las comprobaciones relacionadas durante la verificación previa, DTS ejecutará automáticamente este comando al inicializar la instancia.

    • Cuando la instancia se ejecuta por primera vez.

    • Cuando la granularidad del objeto de migración se establece en Schema y se crea una nueva tabla en el esquema, o bien se reconstruye una tabla existente mediante el comando RENAME.

    Nota
    • En el comando, reemplace schema y table por el nombre del esquema y el nombre de la tabla de los datos que se van a migrar.

    • Ejecute esta operación fuera del horario de mayor actividad.

  • DTS valida el contenido de los datos, pero no los metadatos como las secuencias; usted debe validar los metadatos por su cuenta.

  • Después de cambiar sus cargas de trabajo a la instancia de destino, las secuencias recién escritas no continuarán incrementándose a partir del valor máximo de las secuencias correspondientes en la base de datos de origen. Antes de realizar el cambio de cargas de trabajo, actualice los valores de las secuencias en la base de datos de destino. Para obtener más información, consulte Update sequence values in the destination database.

  • DTS crea las siguientes tablas temporales en la base de datos de origen para obtener información como instrucciones DDL de datos incrementales, los esquemas de las tablas incrementales y los datos de latido. No elimine estas tablas temporales durante la migración, ya que interrumpirían la tarea de DTS. DTS elimina automáticamente estas tablas después de liberar la instancia de migración.

    public.dts_pg_class, public.dts_pg_attribute, public.dts_pg_type, public.dts_pg_enum, public.dts_postgres_heartbeat, public.dts_ddl_command, public.dts_args_session y public.aliyun_dts_instance.

  • Para garantizar la precisión de la latencia mostrada en la migración incremental de datos, DTS crea una tabla de latido llamada dts_postgres_heartbeat en la base de datos de origen.

  • Durante la migración incremental de datos, DTS crea un replication slot con el prefijo dts_sync_ en la base de datos de origen para replicar los datos. Este replication slot permite que DTS obtenga los registros incrementales de la base de datos de origen de los últimos 15 minutos. Cuando una tarea de migración de datos falla o se libera la instancia de migración, DTS intenta limpiar automáticamente el replication slot.

    Nota
    • Si cambia la contraseña de la cuenta de la base de datos de origen utilizada por la tarea o elimina las direcciones IP de DTS de la lista de permitidos de direcciones IP de la base de datos de origen durante la migración, el replication slot no se podrá limpiar automáticamente. En este caso, debe limpiar manualmente el replication slot en la base de datos de origen para evitar la acumulación de registros, lo cual puede agotar el espacio en disco y dejar la base de datos de origen no disponible.

    • Si ocurre un failover entre el nodo principal y el secundario en la base de datos de origen, debe iniciar sesión en la base de datos secundaria para limpiar manualmente el replication slot.

  • Este límite aplica a las tareas de migración completa o incremental de datos en las que las tablas por migrar de la base de datos de origen contienen claves externas, disparadores o disparadores de eventos. Durante la migración, DTS establece temporalmente el parámetro session_replication_role en replica a nivel de sesión. Si la cuenta de la base de datos de destino no cuenta con los permisos necesarios, debe establecer manualmente el parámetro en replica en la base de datos de destino. Durante este periodo (mientras session_replication_role esté establecido en replica), las operaciones de actualización o eliminación en cascada en la base de datos de origen podrían causar inconsistencia en los datos. Después de liberar la tarea de migración, puede restablecer el parámetro a origin.

  • Antes de migrar los datos, evalúe el rendimiento de las bases de datos de origen y de destino. Ejecute la migración de datos fuera del horario de mayor actividad. Durante la migración completa de datos, DTS consume recursos de lectura y escritura tanto en la base de datos de origen como en la de destino, lo que puede aumentar la carga de ambas.

  • La migración completa de datos implica operaciones INSERT concurrentes, lo que puede fragmentar las tablas en la base de datos de destino y hacer que esta consuma más espacio de almacenamiento que la de origen.

  • Compruebe si la precisión de migración para las columnas de tipo FLOAT o DOUBLE cumple con los requisitos de su negocio. DTS utiliza la función ROUND(COLUMN,PRECISION) para leer los valores de estas columnas. Si no define explícitamente una precisión, DTS utilizará 38 dígitos para FLOAT y 308 dígitos para DOUBLE.

  • DTS intenta reanudar una tarea de migración con errores durante un máximo de siete días. Por lo tanto, antes de cambiar sus cargas de trabajo a la instancia de destino, debe detener o liberar la tarea. Como alternativa, revoque los permisos de escritura de la cuenta que DTS utiliza para acceder a la instancia de destino mediante el comando REVOKE. Esto evita que una tarea reanudada automáticamente sobrescriba los datos de la instancia de destino.

  • Si una tarea falla, el personal de soporte de DTS intentará restaurarla en un plazo de ocho horas. Durante la restauración, es posible que reinicien la tarea o ajusten sus parámetros.

    Nota

    Solo se modifican los parámetros de la tarea de DTS, no los de la base de datos. Los parámetros que podrían ajustarse se enumeran en Modify instance parameters.

  • Al migrar una tabla particionada, debe incluir tanto la tabla principal como sus particiones secundarias como objetos de migración. De lo contrario, los datos de la tabla particionada podrían volverse inconsistentes.

    Importante
    • La tabla principal de una tabla particionada de PostgreSQL no almacena datos directamente. Todos los datos se almacenan en sus particiones secundarias. Una tarea de migración de datos debe incluir la tabla principal y todas sus particiones secundarias. De lo contrario, podrían omitirse datos de las particiones secundarias, lo que genera inconsistencia entre el origen y el destino.

    • No se admite la migración de tablas particionadas ni de tablas con herencia (tablas principal-secundaria) entre distintas bases de datos. Asegúrese de que la tabla particionada y todas sus particiones estén en la misma base de datos. Asimismo, compruebe que la tabla principal y todas sus tablas secundarias residan en la misma base de datos.

Casos especiales

  • Si la base de datos de origen es una instancia de PostgreSQL autogestionada, asegúrese de que los valores de los parámetros max_wal_senders y max_replication_slots superen la suma de los replication slots existentes y la cantidad de instancias de migración de DTS que planea crear para el origen.

  • Si la instancia de origen es Cloud SQL for PostgreSQL, debe especificar una cuenta con el permiso cloudsqlsuperuser en el campo Database Account. Al seleccionar los objetos de migración, elija únicamente aquellos que esta cuenta tenga autorización para gestionar. Como alternativa, otorgue a esta cuenta el rol OWNER sobre los objetos (por ejemplo, ejecute el comando GRANT <owner_of_the_object_to_be_migrated> TO <source_database_account_used_by_the_task>).

    Nota

    Una cuenta con el permiso cloudsqlsuperuser no puede gestionar los datos propiedad de otra cuenta con el permiso cloudsqlsuperuser.

Tipos de migración

  • Migración de esquemas

    DTS migra las definiciones de esquema de los objetos de migración desde la base de datos de origen hacia la base de datos de destino.

    Nota

    DTS admite la migración de esquemas para los siguientes tipos de objetos: tablas, disparadores, vistas, secuencias, funciones, tipos definidos por el usuario, reglas, dominios, operadores y agregados.

  • Migración completa

    DTS migra todos los datos históricos de los objetos de migración especificados desde la base de datos de origen hacia la base de datos de destino.

  • Migración incremental

    Una vez finalizada la migración completa, DTS migra las actualizaciones incrementales de datos desde la base de datos de origen hacia la base de datos de destino. La migración incremental le permite trasladar los datos sin interrumpir sus aplicaciones autogestionadas.

Objetos compatibles

  • SCHEMA, TABLE.

    Nota

    Esto incluye PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, DATATYPE (tipos de datos integrados) y DEFAULT CONSTRAINT.

  • VIEW, PROCEDURE (requiere PostgreSQL 11 o posterior), FUNCTION, RULE, SEQUENCE, EXTENSION, TRIGGER, AGGREGATE, INDEX, OPERATOR, DOMAIN.

Operaciones SQL para la migración incremental

Tipo de operación

Instrucción SQL

DML

INSERT, UPDATE y DELETE

DDL

  • Solo las tareas de migración de datos creadas después del admiten operaciones DDL.

    Importante
    • Para las tareas de migración de datos creadas en Singapore antes del 12 de mayo de 2023, debe crear disparadores y funciones en la base de datos de origen para capturar la información DDL antes de configurar la tarea de migración. Para obtener más información, consulte Use triggers and functions to implement incremental DDL migration for PostgreSQL.

    • La migración incremental de datos no migra datos de tipo BIT.

  • La tarea de migración de datos admite las siguientes instrucciones DDL. La cuenta de la base de datos de origen debe ser una cuenta con privilegios:

    • CREATE TABLE, DROP TABLE

    • ALTER TABLE (incluye RENAME TABLE, ADD COLUMN, ADD COLUMN DEFAULT, ALTER COLUMN TYPE, DROP COLUMN, ADD CONSTRAINT, ADD CONSTRAINT CHECK y ALTER COLUMN DROP DEFAULT)

    • TRUNCATE TABLE (la base de datos PostgreSQL de origen debe ser versión 11 o posterior).

    • CREATE INDEX ON TABLE

    Importante
    • La información adicional en las instrucciones DDL, como CASCADE o RESTRICT, no se migra.

    • Si una sesión utiliza el comando SET session_replication_role = replica, sus instrucciones DDL no se migran.

    • Las instrucciones DDL ejecutadas mediante llamadas a funciones no se migran.

    • Si una sola transacción de la base de datos de origen contiene instrucciones DML y DDL, las instrucciones DDL no se migran.

    • Si una sola transacción de la base de datos de origen contiene instrucciones DDL para objetos no seleccionados para la migración, dichas instrucciones DDL no se migran.

    • Actualmente no se admite CREATE SEQUENCE.

    • Las instrucciones DDL ejecutadas directamente dentro de un plugin a través de Server Programming Interface (SPI) no se migran.

Permisos requeridos para las cuentas de base de datos

Base de datos

Migración de esquemas

Migración completa

Migración incremental

Base de datos PostgreSQL autogestionada

Permiso USAGE sobre pg_catalog

Permiso SELECT sobre los objetos de origen

superuser

Instancia de RDS for PostgreSQL

Permisos CREATE y USAGE sobre los objetos de origen

Permisos del propietario del esquema

Permisos del propietario del esquema

Para crear una cuenta de base de datos y otorgarle permisos:

  • Para una base de datos PostgreSQL autogestionada, consulte la sintaxis de CREATE USER y GRANT.

  • Para una instancia de RDS for PostgreSQL, consulte Create an account.

Requisitos previos

Nota

Complete los siguientes pasos para todas las versiones de su base de datos PostgreSQL autogestionada.

  1. Inicie sesión en el servidor que aloja su base de datos PostgreSQL autogestionada.

  2. Ejecute el siguiente comando para consultar la cantidad de replication slots utilizados en la base de datos.

    select count(1) from pg_replication_slots;
  3. Modifique el archivo de configuración postgresql.conf. Establezca el parámetro wal_level en logical y asegúrese de que los parámetros max_wal_senders y max_replication_slots sean mayores que la cantidad de replication slots utilizados más el número de instancias de DTS que planea crear.

    # - Settings -
    
    wal_level = logical			# minimal, replica, or logical
    					# (change requires restart)
    
    ......
    
    # - Sending Server(s) -
    
    # Set these on the master and on any standby that will send replication data.
    
    max_wal_senders = 10		# max number of walsender processes
    				# (change requires restart)
    #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
    #wal_sender_timeout = 60s	# in milliseconds; 0 disables
    
    max_replication_slots = 10	# max number of replication slots
    				# (change requires restart)
    Nota

    Después de modificar el archivo de configuración, debe reiniciar la base de datos PostgreSQL autogestionada para aplicar los cambios.

  4. Agregue los bloques CIDR de los servidores de DTS al archivo de configuración pg_hba.conf de su base de datos PostgreSQL autogestionada. Solo es necesario agregar los bloques CIDR de los servidores de DTS ubicados en la región donde reside su base de datos de destino. Para obtener más información, consulte Add the CIDR blocks of DTS servers to a whitelist.

    Nota
    • Después de modificar el archivo de configuración, ejecute el comando SELECT pg_reload_conf(); o reinicie la base de datos PostgreSQL autogestionada para aplicar los cambios.

    • Para obtener más información sobre la configuración de este archivo, consulte The pg_hba.conf File. Si ya estableció la dirección de confianza en 0.0.0.0/0 (como se muestra en el siguiente ejemplo), puede omitir este paso.

    En el archivo pg_hba.conf, establezca las direcciones para conexiones IPv4 y conexiones de replicación en 0.0.0.0/0, y el método de autenticación en md5. Configuración de ejemplo:

    # "local" is for Unix domain socket connections only
    local   all             all                                     trust
    # IPv4 local connections:
    host    all             all             0.0.0.0/0               md5
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    local   replication     postgres                                trust
    host    replication     postgres        0.0.0.0/0               md5
  5. En su instancia de destino de RDS for PostgreSQL, cree una base de datos y un esquema para los objetos que planea migrar. El nombre del esquema debe ser idéntico al del esquema de origen. Para obtener más información, consulte Create a database y Gestionar esquemas.

Si la versión de su base de datos PostgreSQL autogestionada está entre 9.4.8 y 10.0, también debe completar los siguientes pasos.

  1. Descargue, compile e instale el código fuente de PostgreSQL.

    1. Descargue el código fuente correspondiente a su versión de PostgreSQL autogestionada desde el sitio web oficial de PostgreSQL.

    2. Ejecute secuencialmente los comandos sudo ./configure, sudo make y sudo make install para configurar, compilar e instalar el código fuente.

      Importante
      • Al compilar e instalar PostgreSQL, la versión del sistema operativo debe ser compatible con la versión de GNU Compiler Collection (GCC).

      • Si se produce un error al ejecutar el comando sudo ./configure, modifique el comando según el mensaje de error. Por ejemplo, si el mensaje indica readline library not found. Use --without-readline to disable readline support., cambie el comando a sudo ./configure --without-readline.

      • Si instala PostgreSQL mediante otro método, debe compilar el plugin ali_decoding en un entorno de prueba que utilice las mismas versiones de sistema operativo y GCC que su entorno de producción.

  2. Descargue, compile e instale el plugin ali_decoding proporcionado por DTS.

    1. Descargue ali_decoding.

    2. Copie todo el directorio ali_decoding al directorio contrib de su instalación de PostgreSQL.

      total 1008
      -rw-r--r--  1 1107 1107    384 Sep 27  2016 aclocal.m4
      drwxrwxrwx  2 1107 1107   4096 Sep 27  2016 config
      -rw-r--r--  1 root root 374806 Sep  7 10:10 config.log
      -rwxr-xr-x  1 root root  39032 Sep  7 10:10 config.status
      -rwxr-xr-x  1 1107 1107 471157 Sep 27  2016 configure
      -rw-r--r--  1 1107 1107  75195 Sep 27  2016 configure.in
      drwxrwxrwx 56 1107 1107   4096 Sep  7 10:28 contrib
      -rw-r--r--  1 1107 1107   1192 Sep 27  2016 COPYRIGHT
      drwxrwxrwx  3 1107 1107   4096 Sep 27  2016 doc
      -rw-r--r--  1 root root   3638 Sep  7 10:10 GNUmakefile
      -rw-r--r--  1 1107 1107   3638 Sep 27  2016 GNUmakefile.in
      -rw-r--r--  1 1107 1107    283 Sep 27  2016 HISTORY
      -rw-r--r--  1 1107 1107  75065 Sep 27  2016 INSTALL
      -rw-r--r--  1 1107 1107   1489 Sep 27  2016 Makefile
      -rw-r--r--  1 1107 1107   1209 Sep 27  2016 README
      drwxrwxrwx 16 1107 1107   4096 Sep  7 10:10 src
    3. Acceda al directorio ali_decoding y reemplace el contenido del archivo Makefile con el siguiente código:

      # contrib/ali_decoding/Makefile
      MODULE_big = ali_decoding
      MODULES = ali_decoding
      OBJS    = ali_decoding.o
      
      DATA = ali_decoding--0.0.1.sql ali_decoding--unpackaged--0.0.1.sql
      
      EXTENSION = ali_decoding
      
      NAME = ali_decoding
      
      #subdir = contrib/ali_decoding
      #top_builddir = ../..
      #include $(top_builddir)/src/Makefile.global
      #include $(top_srcdir)/contrib/contrib-global.mk
      
      #PG_CONFIG = /usr/pgsql-9.6/bin/pg_config
      #pgsql_lib_dir := $(shell $(PG_CONFIG) --libdir)
      #PGXS := $(shell $(PG_CONFIG) --pgxs)
      #include $(PGXS)
      
      # Use the following for source code installation
      ifdef USE_PGXS
      PG_CONFIG = pg_config
      PGXS := $(shell $(PG_CONFIG) --pgxs)
      include $(PGXS)
      else
      subdir = contrib/ali_decoding
      top_builddir = ../..
      include $(top_builddir)/src/Makefile.global
      include $(top_srcdir)/contrib/contrib-global.mk
      endif
    4. Acceda al directorio ali_decoding. Ejecute secuencialmente los comandos sudo make y sudo make install para compilar el plugin ali_decoding y generar los archivos de instalación necesarios.

    5. Copie los siguientes archivos a las ubicaciones especificadas.

      /usr/bin/install -c -m 755  ali_decoding.so '/usr/local/pgsql/lib/ali_decoding.so'
      /usr/bin/install -c -m 644 ./ali_decoding.control '/usr/local/pgsql/share/extension/'
      /usr/bin/install -c -m 644 ./ali_decoding--0.0.1.sql ./ali_decoding--unpackaged--0.0.1.sql  '/usr/local/pgsql/share/extension/'
      /usr/bin/install -c -m 755  ali_decoding.so '/usr/local/pgsql/lib/'
  3. En su instancia de destino de RDS for PostgreSQL, cree una base de datos y un esquema para los objetos que planea migrar. El nombre del esquema debe ser idéntico al del esquema de origen. Para obtener más información, consulte Create a database y Gestionar esquemas.

Procedimiento

  1. Vaya a la página de la lista de tareas de migración de la región de destino mediante uno de los métodos a continuación.

    Desde la consola de DTS

    1. Inicie sesión en la consola de Data Transmission Service (DTS).

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

    3. En la esquina superior izquierda de la página, seleccione la región donde se encuentra la instancia de migración.

    Desde la consola de DMS

    Nota

    Las operaciones reales pueden variar según el modo y el diseño de la consola de DMS. Para obtener más información, consulte Simple mode console y Customize the layout and style of the DMS console.

    1. Inicie sesión en la consola de Data Management (DMS).

    2. En la barra de menús superior, elija Data + AI > Data Transmission (DTS) > Data Migration.

    3. A la derecha de Data Migration Tasks, seleccione la región donde se encuentra la instancia de migración.

  2. Haga clic en Create Task para ir a la página de configuración de la tarea.

  3. Configure las bases de datos de origen y de destino.

    Categoría

    Parámetro

    Descripción

    N/A

    Task Name

    DTS genera automáticamente un nombre de tarea. Se recomienda especificar un nombre descriptivo para identificarla fácilmente. El nombre no necesita ser único.

    Source Database

    Select Existing Connection

    • Para usar una instancia de base de datos que ya se ha added to the system (creada o guardada), seleccione la instancia deseada en la lista desplegable. La información de la base de datos que aparece a continuación se configura automáticamente.

      Nota

      En la consola de DMS, este parámetro se denomina Select a DMS database instance..

    • Si no ha registrado la instancia de base de datos en el sistema o no necesita usar una instancia registrada, configure manualmente la información de la base de datos a continuación.

    Database Type

    Seleccione PostgreSQL.

    Access Method

    Seleccione un método de acceso según la ubicación de despliegue de la base de datos de origen. Este tema utiliza Cloud Enterprise Network (CEN) como ejemplo.

    Nota

    Si la instancia de origen es una base de datos autogestionada, también debe completar los preparativos obligatorios. Para obtener más información, consulte Prerequisites.

    Instance Region

    Seleccione la región donde reside la base de datos PostgreSQL autogestionada.

    CEN Instance ID

    Seleccione el ID de la instancia CEN de la base de datos PostgreSQL autogestionada.

    Connected VPC

    Seleccione la Virtual Private Cloud (VPC) conectada a la base de datos PostgreSQL autogestionada.

    Domain Name or IP

    Introduzca la dirección IP del servidor que aloja la base de datos PostgreSQL autogestionada.

    Port Number

    Introduzca el puerto de servicio de la base de datos PostgreSQL autogestionada. El valor predeterminado es 5432.

    Database Name

    Introduzca el nombre de la base de datos que desea migrar desde la instancia autogestionada.

    Database Account

    Introduzca la cuenta de la base de datos PostgreSQL autogestionada. Para obtener información sobre los permisos obligatorios, consulte Permissions required for database accounts.

    Database Password

    Introduzca la contraseña de la cuenta de la base de datos.

    Encryption

    Indica si se cifra la conexión a la base de datos de origen. Configure este parámetro según sus necesidades de negocio. En este ejemplo, se selecciona Non-encrypted.

    Si desea establecer una conexión cifrada con SSL a la base de datos de origen, siga estos pasos: seleccione SSL-encrypted, cargue CA Certificate, Client Certificate y Private Key of Client Certificate según sea necesario, y luego especifique Private Key Password of Client Certificate.

    Nota
    • Si establece Encryption en SSL-encrypted para una base de datos PostgreSQL autogestionada, debe cargar CA Certificate.

    • Si desea usar el certificado de cliente, debe cargar Client Certificate y Private Key of Client Certificate, además de especificar Private Key Password of Client Certificate.

    • Para obtener información sobre cómo configurar el cifrado SSL en una instancia de ApsaraDB RDS for PostgreSQL, consulte SSL encryption.

    Destination Database

    Select Existing Connection

    • Para usar una instancia de base de datos que ya se ha added to the system (creada o guardada), seleccione la instancia deseada en la lista desplegable. La información de la base de datos que aparece a continuación se configura automáticamente.

      Nota

      En la consola de DMS, este parámetro se denomina Select a DMS database instance..

    • Si no ha registrado la instancia de base de datos en el sistema o no necesita usar una instancia registrada, configure manualmente la información de la base de datos a continuación.

    Database Type

    Seleccione PostgreSQL.

    Access Method

    Seleccione Alibaba Cloud Instance.

    Instance Region

    Seleccione la región donde reside la instancia de destino de RDS for PostgreSQL.

    Instance ID

    Seleccione el ID de la instancia de destino de RDS for PostgreSQL.

    Database Name

    Introduzca el nombre de la base de datos en la instancia de destino de RDS for PostgreSQL que recibirá los objetos migrados.

    Database Account

    Introduzca la cuenta de la base de datos de la instancia de destino de RDS for PostgreSQL. Para obtener información sobre los permisos obligatorios, consulte Permissions required for database accounts.

    Database Password

    Introduzca la contraseña de la cuenta de la base de datos.

    Encryption

    Indica si se cifra la conexión a la base de datos de origen. Configure este parámetro según sus necesidades de negocio. En este ejemplo, se selecciona Non-encrypted.

    Si desea establecer una conexión cifrada con SSL a la base de datos de origen, siga estos pasos: seleccione SSL-encrypted, cargue CA Certificate, Client Certificate y Private Key of Client Certificate según sea necesario, y luego especifique Private Key Password of Client Certificate.

    Nota
    • Si establece Encryption en SSL-encrypted para una base de datos PostgreSQL autogestionada, debe cargar CA Certificate.

    • Si desea usar el certificado de cliente, debe cargar Client Certificate y Private Key of Client Certificate, además de especificar Private Key Password of Client Certificate.

    • Para obtener información sobre cómo configurar el cifrado SSL en una instancia de ApsaraDB RDS for PostgreSQL, consulte SSL encryption.

  4. Una vez completada la configuración, haga clic en Test Connectivity and Proceed en la parte inferior de la página.

    Nota
    • Asegúrese de que el segmento de direcciones IP del servicio DTS se agregue automática o manualmente a la configuración de seguridad de las bases de datos de origen y de destino. Esto permite el acceso desde los servidores de DTS. Para obtener más información, consulte Add DTS server IP addresses to a whitelist.

    • Si la base de datos de origen o de destino es autogestionada (es decir, Access Method no es Alibaba Cloud Instance), también debe hacer clic en Test Connectivity en el cuadro de diálogo CIDR Blocks of DTS Servers que aparece.

  5. Configure los objetos de la tarea.

    1. En la página Configure Objects, configure los objetos que desea migrar.

      Parámetro

      Descripción

      Migration Types

      • Para ejecutar una migración completa de datos en una sola ocasión, seleccione tanto Schema Migration como Full Data Migration.

      • Para ejecutar una migración con un tiempo de inactividad mínimo, seleccione Schema Migration, Full Data Migration y Incremental Data Migration.

      Nota
      • Si selecciona Schema Migration, DTS migra el esquema de las tablas correspondientes, incluidas las claves externas, de la base de datos de origen a la de destino.

      • Si no selecciona Incremental Data Migration, no escriba datos nuevos en la instancia de origen durante la migración para garantizar la consistencia de los datos.

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: comprueba si existen tablas con el mismo nombre en la base de datos de destino. Si no hay tablas con nombres idénticos, la comprobación previa se supera. En caso contrario, se reporta un error durante dicha comprobación y la tarea de migración de datos no se inicia.

        Nota

        Si una tabla de la base de datos de destino tiene el mismo nombre pero no se puede eliminar ni renombrar fácilmente, cambie el nombre de esa tabla en la base de datos de destino. Para obtener más información, consulte Object name mapping.

      • Ignore Errors and Proceed: omite la comprobación de tablas con nombres duplicados.

        Aviso

        Seleccionar Ignore Errors and Proceed puede provocar inconsistencias en los datos y riesgos para el negocio. Por ejemplo:

        • Si los esquemas de las tablas son consistentes y un registro de la base de datos de destino tiene el mismo valor de clave primaria que un registro de la base de datos de origen:

          • Durante la migración completa, DTS conserva el registro en la base de datos de destino. El registro de la base de datos de origen no se migra.

          • Durante la migración incremental, DTS no conserva el registro en la base de datos de destino. El registro de la base de datos de origen sobrescribe al de la base de datos de destino.

        • Si los esquemas de las tablas no coinciden, es posible que solo se migren algunas columnas de datos o que la migración termine con errores. Proceda con precaución.

      Source Objects

      En el cuadro Source Objects, haga clic en los objetos que desea migrar y luego haga clic en Right arrow para moverlos al cuadro Selected Objects.

      Nota
      • Puede seleccionar objetos a nivel de esquema o de tabla. Si selecciona tablas, otros objetos como vistas, disparadores y procedimientos almacenados no se migran.

      • Si una tabla por migrar contiene columnas de tipo SERIAL y ha seleccionado Migration Types para Schema Migration, seleccione también Sequence o migre el esquema completo.

      Selected Objects

      • Para cambiar el nombre de un solo objeto de migración en la instancia de destino, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects. Para obtener más información, consulte Map individual schema, table, and column names.

      • Para cambiar los nombres de varios objetos de migración en la instancia de destino, haga clic en Selected Objects en la esquina superior derecha del cuadro Batch Edit. Para obtener más información, consulte Map multiple schema, table, and column names.

      Nota
      • Si usa la función de asignación de nombres de objetos, es posible que otros objetos dependientes del elemento renombrado no se migren correctamente.

      • Para definir una cláusula WHERE que filtre datos, haga clic con el botón derecho en la tabla dentro del cuadro Selected Objects y especifique la condición de filtrado en el cuadro de diálogo que aparece. Para obtener más información, consulte Set filter conditions.

      • Para seleccionar las operaciones SQL incrementales que desea migrar a nivel de base de datos o de tabla, haga clic con el botón derecho en el objeto dentro del cuadro Selected Objects y elija las operaciones SQL deseadas en el cuadro de diálogo que aparece.

    2. Haga clic en Next: Advanced Settings para configurar los parámetros avanzados.

      Parámetro

      Descripción

      Dedicated Cluster for Task Scheduling

      De forma predeterminada, DTS programa las tareas en un clúster compartido, por lo que no necesita seleccionar uno. Si requiere tareas más estables, adquiera un dedicated cluster para ejecutar las tareas de migración de DTS.

      Retry Time for Failed Connections

      Una vez iniciada la tarea de migración, si falla la conexión a la base de datos de origen o de destino, DTS reporta un error y comienza a reintentar la conexión de inmediato. La duración predeterminada de reintento es de 720 minutos. Puede personalizar este tiempo con un valor de 10 a 1440 minutos. Se recomienda establecer una duración mayor a 30 minutos. Si DTS se reconecta a las bases de datos de origen y de destino dentro del periodo especificado, la tarea de migración se reanuda automáticamente; de lo contrario, termina con errores.

      Nota
      • Cuando varias instancias de DTS comparten el mismo origen o destino, el tiempo de reintento de red lo determina la configuración de la última tarea creada.

      • Dado que se le cobra por la tarea durante el periodo de reintento de conexión, se recomienda personalizar el tiempo de reintento según sus necesidades de negocio. También puede liberar la instancia de DTS tan pronto como libere las instancias de base de datos de origen y de destino.

      Retry Time for Other Issues

      Una vez iniciada la tarea de migración, si ocurre un problema distinto a la conectividad en la base de datos de origen o de destino (por ejemplo, una excepción al ejecutar DDL o DML), DTS reporta un error y reintenta la operación de inmediato. La duración predeterminada de reintento es de 10 minutos. Puede personalizar este tiempo con un valor de 1 a 1440 minutos. Se recomienda establecer una duración mayor a 10 minutos. Si las operaciones relacionadas se ejecutan correctamente dentro del periodo de reintento especificado, la tarea de migración se reanuda automáticamente; de lo contrario, termina con errores.

      Importante

      El valor de Retry Time for Other Issues debe ser menor que el valor de Retry Time for Failed Connections.

      Enable Throttling for Full Data Migration

      Durante la migración completa, DTS consume recursos de lectura y escritura en las bases de datos de origen y de destino, lo cual puede aumentar la carga de la base de datos. Si lo requiere, habilite la limitación de velocidad para la tarea de migración completa. Establezca Queries per second (QPS) to the source database, RPS of Full Data Migration y Data migration speed for full migration (MB/s) para reducir la carga en la base de datos de destino.

      Nota
      • Este elemento de configuración solo está disponible si selecciona Full Data Migration en Migration Types.

      • También puede adjust the full migration speed después de que la instancia de migración esté en ejecución.

      Enable Throttling for Incremental Data Migration

      Si lo requiere, también puede establecer límites de velocidad para la tarea de migración incremental. Configure RPS of Incremental Data Migration y Data migration speed for incremental migration (MB/s) para reducir la carga en la base de datos de destino.

      Nota
      • Este elemento de configuración solo está disponible si selecciona Incremental Data Migration en Migration Types.

      • También puede adjust the incremental migration speed después de que la instancia de migración esté en ejecución.

      Environment Tag

      Puede seleccionar una etiqueta de entorno para identificar la instancia según sus necesidades. En este ejemplo, no se requiere ninguna selección.

      Configure ETL

      Según sus necesidades de negocio, seleccione si desea configurar la función ETL feature para procesar datos.

      • Yes: configura la función ETL. También debe introducir las data processing statements en el cuadro de texto.

      • No: no configura la función ETL.

      Monitoring and Alerting

      Seleccione si desea configurar alertas y recibir notificaciones de alerta según sus necesidades de negocio.

      • No: no configura ninguna alerta.

      • Yes: configura las alertas estableciendo un alert threshold y un notificaciones de alerta. Si una migración termina con errores o la latencia supera el umbral, el sistema envía una notificación de alerta.

    3. Haga clic en Next: Data Validation para configurar una tarea de validación de datos.

      Para obtener más información sobre la función de validación de datos, consulte Configure data validation.

  6. Guarde la tarea y ejecute una comprobación previa.

    • Para consultar los parámetros de configuración de esta instancia al llamar a la operación de la API, coloque el puntero sobre el botón Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters en la burbuja que aparece.

    • Si no necesita ver los parámetros de la API o ya terminó de revisarlos, haga clic en Next: Save Task Settings and Precheck en la parte inferior de la página.

    Nota
    • Antes de iniciar la tarea de migración, DTS ejecuta una comprobación previa. La tarea solo comienza después de superar dicha comprobación.

    • Si la comprobación previa termina con errores, haga clic en View Details junto al elemento fallido, resuelva el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.

    • Si se genera una advertencia durante la comprobación previa:

      • Para los elementos que no se pueden ignorar, haga clic en View Details junto al elemento fallido, resuelva el problema siguiendo las indicaciones y vuelva a ejecutar la comprobación previa.

      • Para los elementos que sí se pueden omitir, haga clic en Confirm Alert Details, Ignore, OK y Precheck Again para saltarse la advertencia y repetir la comprobación previa. Tenga en cuenta que ignorar una advertencia puede causar problemas como inconsistencia de datos y representar un riesgo para su negocio.

  7. Adquiera la instancia.

    1. Cuando Success Rate alcance el 100 %, haga clic en Next: Purchase Instance.

    2. En la página Purchase, seleccione la especificación de enlace para la instancia de migración de datos. Consulte la siguiente tabla para obtener más información.

      Categoría

      Parámetro

      Descripción

      New Instance Class

      Resource Group Settings

      Seleccione el resource group al que pertenece la instancia. El valor predeterminado es default resource group. Para obtener más información, consulte What is resource management?

      Instance Class

      DTS ofrece especificaciones de migración con distintos niveles de rendimiento. La especificación de enlace afecta la velocidad de migración. Seleccione una especificación según su escenario de negocio. Para obtener más información, consulte Data migration link specifications.

    3. Una vez completada la configuración, lea y seleccione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Haga clic en Buy and Start. En el cuadro de diálogo OK que aparece, haga clic en OK.

      Consulte el progreso de la tarea de migración en la página de lista Data Migration Tasks.

      Nota
      • Si la tarea de migración no incluye migración incremental, se detiene automáticamente al finalizar la migración completa. Una vez detenida, su Status cambia a Completed.

      • Si la tarea de migración incluye migración incremental, no se detiene automáticamente y la tarea de migración incremental continúa ejecutándose. Mientras esto ocurre, el Status de la tarea es Running.