Entre las limitaciones conocidas al usar una base de datos PostgreSQL como fuente, se incluyen las siguientes:
La extensión
pglogical
no admite la replicación de columnas generadas en PostgreSQL 12 o versiones posteriores.Los cambios en las estructuras de las tablas (DDL) no se replican mediante comandos DDL estándar, sino solo con los comandos ejecutados mediante la extensión
pglogical
que se usa para la replicación. Esto incluye cambios en losenum
tipos.Por ejemplo,
pglogical
proporciona una funciónpglogical.replicate_ddl_command
que permite ejecutar DDL en la base de datos de origen y en la réplica en un punto coherente. El usuario que ejecuta este comando en la fuente ya debe existir en la réplica.Para replicar datos de tablas nuevas, debes usar el comando
pglogical.replication_set_add_table
para añadir las tablas nuevas a los conjuntos de réplicas que ya tengas.Para obtener más información sobre la replicación de DDL mientras la migración está en curso, consulta la sección sobre la fidelidad de la migración.
En el caso de las tablas que no tienen claves principales, Database Migration Service admite la migración de la copia inicial y las instrucciones
INSERT
durante la fase de captura de datos de cambios (CDC). Debes migrar las instruccionesUPDATE
yDELETE
manualmente.Database Migration Service no migra datos de vistas materializadas, solo el esquema de la vista. Para rellenar las vistas, ejecuta el siguiente comando:
REFRESH MATERIALIZED VIEW view_name
.Los estados
SEQUENCE
(por ejemplo,last_value
) del nuevo destino de AlloyDB pueden ser diferentes de los estadosSEQUENCE
de la fuente.Las tablas
UNLOGGED
yTEMPORARY
no se replican ni se pueden replicar.No se admite el tipo de datos de objeto grande. Para obtener más información, consulta la sección sobre la fidelidad de la migración.
- Solo se pueden migrar las extensiones y los lenguajes de procedimiento que AlloyDB admite para PostgreSQL.
Database Migration Service no admite la migración desde réplicas de lectura que estén en modo de recuperación.
Database Migration Service no admite orígenes de Amazon RDS en los que se haya aplicado el paquete de extensiones de AWS SCT.
- Las funciones definidas por el usuario escritas en C no se pueden migrar, excepto las funciones que se instalan en la base de datos PostgreSQL cuando instalas extensiones compatibles con AlloyDB.
Si hay otras extensiones y lenguajes de procedimiento en la base de datos de origen, o si sus versiones no son compatibles, se producirá un error al probar o iniciar el trabajo de migración.
Las bases de datos que se añadan después de que se haya iniciado la tarea de migración no se migrarán.
- No puedes seleccionar tablas ni esquemas específicos cuando migras con Database Migration Service.
Database Migration Service migra todas las tablas y esquemas, excepto los siguientes:
- El esquema de información (
information_schema
). - Cualquier tabla que empiece por
pg
, comopg_catalog
. Para ver la lista completa de catálogos de PostgreSQL que empiezan porpg
, consulta los catálogos del sistema de PostgreSQL en la documentación de PostgreSQL. - No se migra la información sobre los usuarios ni los roles de usuario.
- El esquema de información (
Si las bases de datos cifradas requieren claves de cifrado gestionadas por el cliente para descifrarlas y Database Migration Service no tiene acceso a las claves, las bases de datos no se pueden migrar.
Sin embargo, si los datos de los clientes están cifrados con la extensión
pgcrypto
, se pueden migrar con Database Migration Service (porque AlloyDB admite la extensión).Database Migration Service también admite la migración de datos de bases de datos cifradas de Amazon Aurora o Amazon RDS, ya que estas bases de datos gestionan el descifrado de forma transparente en sus servicios. Para obtener más información, consulta Cifrar recursos de Amazon Aurora y Cifrar recursos de Amazon RDS.
La base de datos de AlloyDB de destino se puede escribir durante la migración para permitir que se apliquen cambios en el DDL si es necesario. Asegúrate de no hacer ningún cambio en la configuración de la base de datos ni en las estructuras de las tablas que pueda interrumpir el proceso de migración o afectar a la integridad de los datos.
El comportamiento de los activadores depende de cómo se hayan configurado. De forma predeterminada, no se activarán, pero si se han configurado con la instrucción
ALTER EVENT TRIGGER
oALTER TABLE
y el estado del activador se ha definido como réplica o siempre, se activarán en la réplica durante la replicación.Las funciones con definidor de seguridad se crearán en la instancia principal de AlloyDB.
alloydbexternalsync
Cuando lo ejecuten los usuarios, se hará con los privilegios dealloydbexternalsync
, que tiene los rolesalloydbsuperuser
yalloydbreplica
. Es mejor restringir el uso de una función de definidor de seguridad a algunos usuarios. Para ello, el usuario debe revocar los privilegios PUBLIC predeterminados y, a continuación, conceder el privilegio de ejecución de forma selectiva.El método de conectividad de las interfaces de Private Service Connect solo se admite para migrar a instancias de destino. Si quieres usar la conectividad IP privada y migrar a una instancia de destino nueva, usa el emparejamiento de VPCs.
Limitaciones de las migraciones a clústeres de destino
- El clúster de destino debe estar vacío o contener solo datos de configuración del sistema. No se admite la migración a un clúster de destino que contenga datos de usuario (como tablas).
- Solo puedes configurar un trabajo de migración por clúster de destino.
- No se admite la migración a clústeres con clústeres secundarios.
- Se admite la migración a clústeres con instancias de grupo de lectura.
Para obtener más información sobre los clústeres y las instancias de AlloyDB para PostgreSQL, consulta el resumen de AlloyDB para PostgreSQL.
Cuotas
- Puedes disponer de hasta 2000 perfiles de conexión y 1000 tareas de migración al mismo tiempo. Si quieres liberar espacio, puedes eliminar los perfiles de conexión y las tareas de migración, incluidas las completadas.