La migración entre dos DBMS muy diferentes requiere mucho más que solo migrar los datos. Pero la migración de los datos suele ser la parte más fácil.
La forma en que lo intenté, que es gratis y puedo confirmar que funciona:
- crear un volcado solo de esquema mysql
- Ajuste el SQL usando un editor de texto y mucha búsqueda y reemplazo
- ejecutar el SQL convertido en Postgres
- Cree un volcado de texto sin formato desde MySQL (por ejemplo, CSV u otro formato delimitado)
- importar los datos usando el comando COPIA de PostgreSQL
Importar los datos podría ser realmente difícil si confiara en el comportamiento de MySQL para aceptar datos ilegales (como el 31 de febrero)
Supongo que esto será más rápido que buscar una herramienta, evaluar un montón de ellas y luego tratar de entender la que elegiste. Pero depende de a qué tipo de "grande" se refiera. Si grande es varios cientos de tablas, esto podría no ser factible. Si grande solo se refiere al número de filas, entonces esta es probablemente la forma más rápida de hacerlo.
Existen algunas herramientas que pueden volcar un esquema de base de datos en un formato independiente de DBMS (XML), como Liquibase , SchemaSpy o WbSchemaReport . Con Liquibase probablemente sea el más fácil de usar. Los otros requerirán un trabajo manual escribiendo / extendiendo el XSLT para transformar el XML generado.
Si está utilizando desencadenantes y procedimientos almacenados en MySQL, no creo que haya una herramienta automatizada que pueda traducirlos sin requerir una reparación manual importante después, y luego los procedimientos generados probablemente no usarían ninguna función avanzada del DBMS objetivo .