Vad jag brukar göra för sådana migrationer är dubbelt:
- Extrahera hela databasdefinitionen från MySQL och anpassa den till PostgreSQL-syntax.
- Gå över databasdefinitionen och omvandla den för att dra fördel av funktionalitet i PostgreSQL som inte finns i MySQL.
Gör sedan konverteringen och skriv ett program på det språk du är mest bekväm med som ger följande:
- Läser data från MySQL-databasen.
- Utför vilken omvandling som helst på data som ska lagras i PostgreSQL-databasen.
- Spara de nu transformerade data i PostgreSQL-databasen.
Omforma tabellerna för PostgreSQL för att dra nytta av dess funktioner.
Om du bara gör något som att använda en sed
skript för att konvertera SQL-dumpen från ett format till ett annat, allt du gör är att lägga en MySQL-databas i en PostgreSQL-server. Du kan göra det, och det kommer fortfarande att finnas en viss fördel av att göra det, men om du ska migrera, migrera helt.
Det kommer att innebära lite mer tid i förväg, men jag har ännu inte stött på en situation där det inte är värt det.