PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Sequenza di chiavi primarie PostgreSQL persa dopo la migrazione tramite AWS DMS

Dopo che @a_horse_with_no_name mi ha indicato la giusta direzione e dopo aver chattato con AWS, sono in grado di rispondere alla mia domanda, almeno se stai utilizzando AWS Database Migration Service (DMS).

Il problema è che DMS si concentra solo sui dati stessi e non proprio sullo schema (che per me sembra un'importante svista, soprattutto se si utilizza la stessa tecnologia di database ma questo è un altro problema). Quindi lo schema stesso non viene migrato. La documentazione in realtà non lo chiarisce.

Per risolvere questo problema:

  1. Interrompi (se esiste ancora) la migrazione AWS DMS esistente
  2. Elimina il database migrato esistente e crea un nuovo schema vuoto da utilizzare
  3. Segui i passaggi qui https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html per installare e configurare Amazon Schema Conversation Tool (SCT)
  4. Una volta connesso a entrambi i database, segui i passaggi qui https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html per "convertire" il tuo schema (ho creato l'intero schema "pubblico" per questo database per assicurarmi che tutto sia coperto
  5. Crea o modifica la tua migrazione AWS DMS, assicurando la modalità di preparazione della tabella di destinazione ="TRUNCATE" e disabilita le chiavi esterne sul database di destinazione. In caso di modifica, assicurati che quando ti viene chiesto "RIAVVIA" non riprendere

Quello che non ho ancora testato è come gestire il fatto che sto migrando un database live. Pertanto, le sequenze potrebbero non essere aggiornate nel database di destinazione al termine della migrazione. Credo di poter passare in seguito a SCT e migrare solo le sequenze, ma non l'ho ancora testato.