Как мне легко перейти с MySQL на PostgreSQL? - PullRequest
3 голосов
/ 31 марта 2009

Я бы хотел перенести существующую базу данных MySQL (около 40 таблиц, 400 МБ данных) в Postgres, прежде чем она станет больше. Я искал в Интернете и попробовал некоторые миграционные скрипты (некоторые из них можно найти здесь ). Ни один из них не работает без проблем - если бы это было всего лишь несколько глюков, которые мне пришлось бы исправить вручную, это не было бы проблемой, но полученные дампы вообще не выглядят как действительный PostgreSQL.

Кто-нибудь смог перенести рабочую таблицу без использования полного рабочего дня - есть ли простое решение для этой проблемы?

Примечание: я бы также рассмотрел коммерческие продукты (пока ценообразование все еще возможно).

1 Ответ

3 голосов
/ 31 марта 2009

Несмотря на то, что SQL является стандартом, он не достаточно полнофункциональн, чтобы обойтись без каждого серверного программного обеспечения, реализующего расширения. Перевод из MySQL в PostgreSQL не прост, если ваша схема не тривиальна. Скрипты с автоматическим переводом покажут вам только что.

Самый лучший подход - это вручную перевести схему, а затем написать свои собственные сценарии передачи для самих данных. Вам также следует написать сценарии проверки, чтобы убедиться, что схема и данные отображаются правильно.

Это не отговорочный ответ. Если ваша база данных достаточно важна для переноса, то достаточно потратить некоторое время на себя. В конце концов, вы потратите как минимум столько же времени на выяснение причуд и тонких ошибок, чем сценарий автоматической миграции, чем в случае самостоятельной миграции данных. Но, делая это самостоятельно, у вас есть шанс воспользоваться возможностями PostgreSQL, которых нет в MySQL, а также возможностью внести улучшения, которые происходят только от возможности что-то сделать во второй раз.

Укуси пулю и сделай это.

...