Есть ли инструмент командной строки для преобразования базы данных MySQL в PostgreSQL? Я также хотел бы знать, есть ли способ конвертировать базу данных с помощью обычной mysqldump
команды.
mysql
postgresql
mysqldump
Mughil
источник
источник
Ответы:
ты пробовала:
затем сделайте это, чтобы избежать кавычек
может потребоваться больше массажа, так что посмотрите на mysqldump doco более внимательно.
источник
mysqldump
еще не исправлен .syntax error at or near "(" LINE 2: "id" int(10) NOT NULL,
--compatible
являетсяansi
Вот несколько инструментов с открытым исходным кодом, которые могут быть очень полезны:
FromMySqlToPostgreSql - это инструмент с широкими возможностями и очень простой в использовании.
Он отображает типы данных, переносит ограничения, индексы, PK и FK точно так, как они были в вашей базе данных MySQL.
Под капотом используется PostgreSQL COPY, поэтому передача данных происходит очень быстро.
FromMySqlToPostgreSql написано на PHP (> = 5.4).
pgloader - это инструмент загрузки данных для PostgreSQL, использующий команду COPY. Его главное преимущество перед использованием
или Более того, использование внешнего упаковщика данных - это поведение транзакции, при котором pgloader будет хранить отдельный файл отклоненных данных, но продолжит пытаться скопировать хорошие данные в вашу базу данных. Поведение PostgreSQL по умолчанию является транзакционным, что означает, что любая ошибочная строка во входных данных (файл или удаленная база данных) остановит всю массовую загрузку таблицы. pgloader также реализует переформатирование данных, типичным примером этого является преобразование MySQL datetamps 0000-00-00 и 0000-00-00 00:00:00 в PostgreSQL значение (потому что в нашем календаре никогда не было нулевого года).pgloader написан на LISP и распространяется как исходный код, поэтому вам нужно скомпилировать его перед использованием.
Надеюсь, это поможет вам ...
источник
На самом деле существует бесплатный инструмент миграции, который довольно прост в использовании, разработанный самими EnterpriseDB. Его можно установить через StackBuilder: Migration Toolkit
источник
Недавно я использовал несвободный инструмент DBConvert для преобразования базы данных доступа в postgres и обнаружил, что он стоит денег по сравнению с тем количеством времени, которое я потратил, пытаясь сделать это надежно бесплатно. Продайте аналогичный инструмент для MySQL <-> postgres , который я не использовал, но, возможно, стоит подумать, если вас не интересуют только инструменты командной строки.
Если вам интересно, я никак не связан с ними :-)
источник
Например, вы можете использовать мастер миграции EnterpriseDB.
Это может облегчить миграцию OracleDB. Но для Mysql у него есть некоторые ограничения, например, он не поддерживает представления, триггеры, хранимые процедуры.
Для получения дополнительной информации см. EDB Migration Toolkit . Не уверен, но можно выполнить миграцию mysql-> oracle-> postgresql, сохранив ваши хранимые процедуры (если они существуют).
Grep this: база данных и инструменты миграции SQL
источник
Это просто добавить к существующим ответам, которые помогли мне найти это решение. Я использовал FromMySqlToPostgreSql . Все, что вам нужно сделать, это загрузить и извлечь FromMySqlToPostgreSql , сделать копию образца файла конфигурации, установить в нем значения соединения db и запустить файл индекса с помощью следующей команды:
Простой, но эффективный!
источник
Существует инструмент с открытым исходным кодом, который предоставляет функции для преобразования базы данных MySQL в базу данных Postgresql, включая индексы, fks и данные.
https://github.com/ggarri/mysql2psql
Этот инструмент также позволяет определять изменения схемы, чтобы вы могли выполнить некоторые обновления вашей текущей схемы во время выполнения.
источник