Lanyrd's MySQL a PostgreSQL Script de conversión. Úselo con cuidado.
Este script fue diseñado para nuestra base de datos específicas y requisitos de columna; en particular, duplica las longitudes de Varchars debido a un problema de tamaño de unicode que teníamos, coloca índices en todas las claves extranjeras y supone que está utilizando Django para fines de tipificación de columnas.
Primero, voltee su base de datos MySQL en formato compatible con PostgreSQL
mysqldump --compatible=postgresql --default-character-set=utf8
-r databasename.mysql -u root databasename
Luego, conviértalo usando el script dbConverter.py
python db_converter.py databasename.mysql databasename.psql
Imprimirá el progreso en la terminal.
Finalmente, cargue su nuevo volcado en una nueva base de datos PostgreSQL utilizando:
psql -f databasename.psql
Puede obtener más información sobre el movimiento que esto impulsó en http://lanyrd.com/blog/2012/lanyrds-big-move/ y algunos detalles técnicos en http://www.aeracode.org/2012/11/ 13/One-Change-Not-Loury/.