sql >> Base de Datos >  >> RDS >> PostgreSQL

La secuencia de la clave principal de PostgreSQL se perdió después de la migración con AWS DMS

Después de que @a_horse_with_no_name me indicó la dirección correcta y conversé con AWS, pude responder mi propia pregunta, al menos si está utilizando AWS Database Migration Service (DMS).

El problema es que DMS solo se enfoca en los datos en sí y no en el esquema (lo que me parece un descuido importante, especialmente si usa la misma tecnología de base de datos, pero ese es otro problema). Por lo tanto, el esquema en sí no se migra. La documentación realmente no aclara esto.

Para solucionar este problema:

  1. Detener (si aún existe) la migración de AWS DMS existente
  2. Elimine la base de datos migrada existente y cree un nuevo esquema vacío para usar
  3. Siga los pasos aquí https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html para instalar y configurar Amazon Schema Conversation Tool (SCT)
  4. Una vez que esté conectado a ambas bases de datos, siga los pasos aquí https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html para "convertir" su esquema (hice todo el esquema "público" para esta base de datos para asegurarme de que todo esté cubierto
  5. Cree o modifique su migración de AWS DMS, asegurándose de que el Modo de preparación de la tabla de destino ="TRUNCATE" y deshabilite las claves externas en la base de datos de destino. Si modifica, asegúrese de que cuando se le solicite "REINICIAR" no reanude

Lo que aún no he probado es cómo manejar el hecho de que estoy migrando una base de datos activa. Por lo tanto, las secuencias pueden estar desactualizadas en la base de datos de destino cuando se realiza la migración. Creo que más tarde puedo ingresar a SCT y solo migrar las secuencias, pero aún no lo he probado.