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

PostgreSQL Primary Key-sekvens tabt efter migrering ved hjælp af AWS DMS

Efter at @a_horse_with_no_name pegede mig i den rigtige retning og chatte med AWS, er jeg i stand til at besvare mit eget spørgsmål, i det mindste hvis du bruger AWS Database Migration Service (DMS).

Problemet er, at DMS kun fokuserer på selve dataene og ikke rigtigt skemaet (hvilket for mig virker som en stor forglemmelse, især hvis du bruger den samme databaseteknologi, men det er et andet problem).Så selve skemaet migreres ikke. Dokumentationen gør det ikke rigtig klart.

Sådan løser du dette problem:

  1. Stop (hvis den stadig eksisterer) den eksisterende AWS DMS-migrering
  2. Slip den eksisterende migrerede database, og opret et nyt tomt skema til brug
  3. Følg trinene her https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html for at installere og konfigurere Amazon Schema Conversation Tool (SCT)
  4. Når du er tilsluttet begge databaser, skal du følge trinene her https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html at "konvertere" dit skema (jeg lavede hele det "offentlige" skema for denne database for at sikre, at alt er dækket
  5. Opret eller modificer din AWS DMS-migrering, og sørg for, at Target Table Preparation Mode ="TRUNCATE" og deaktiver fremmednøgler på måldatabasen. Hvis du ændrer, skal du sørge for, at du "GENSTART" ikke genoptager

Hvad jeg endnu ikke har testet er, hvordan jeg håndterer det faktum, at jeg migrerer en live database. Så sekvenserne kan være forældede på måldatabasen, når migreringen er færdig. Jeg tror, ​​jeg bare senere kan gå ind i SCT og kun migrere sekvenserne, men jeg har ikke testet dette endnu.



  1. Oracle:konverter tal til ord på et andet sprog end engelsk

  2. Administrer transaktionssammenfald ved hjælp af låse i SQL Server

  3. oracle begrænsninger datatype

  4. Hvordan hjælper pgBouncer med at sætte fart på Django