Для міграції між двома дуже різними СУБД потрібно набагато більше, ніж просто міграція даних. Але міграція даних зазвичай є найлегшою частиною.
Те, що я спробував, це безкоштовно, і я можу підтвердити, що це працює:
- створити тільки дамп-схему mysql
- Налаштуйте SQL за допомогою текстового редактора та багато пошуку та заміни
- запустіть перетворений SQL в Postgres
- Створіть звичайний текстовий дамп із MySQL (наприклад, CSV або якийсь інший розмежуваний формат)
- імпортувати дані за допомогою команди COPY PostgreSQL
Імпорт даних насправді може бути складним, якщо ви покладаєтесь на поведінку MySQL щодо прийняття незаконних даних (наприклад, 31 лютого)
Я здогадуюсь, що це буде швидше, ніж пошук інструменту, оцінка їх, а потім намагання зрозуміти той, який ви вибрали. Але це залежить від того, про який "великий" ви маєте на увазі. Якщо великий - кілька сотень таблиць, це може бути неможливим. Якщо великий стосується лише кількості рядків, то, мабуть, це найшвидший спосіб зробити це.
Існує кілька інструментів, які можуть скидати схему бази даних у форматі незалежної від СУБД (XML), наприклад Liquibase , SchemaSpy або WbSchemaReport . З Liquibase, мабуть, найпростішим у користуванні. Іншим знадобиться написання / розширення XSLT для ручної роботи для перетворення створеного XML.
Якщо ви використовуєте триггери та збережені процедури в MySQL, я не вірю, що буде якийсь автоматизований інструмент, який може їх перекладати, не вимагаючи після цього великого ручного виправлення - і тоді, згенеровані процедури, ймовірно, не будуть використовувати жодних розширених функцій цільової СУБД .