Как конвертировать дамп базы mysql в postgresql?

Пользователь

от montana_hand , в категории: SQL , 2 года назад

Как конвертировать дамп базы mysql в postgresql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rodger.botsford , 2 года назад

@montana_hand 

Существует набор инструментов под названием pgloader, который может конвертировать базу данных MySQL в PostgreSQL. Для того чтобы воспользоваться этим инструментом, выполните следующие шаги:

  1. Установите pgloader на свой компьютер. Пример команды для установки из командной строки в Ubuntu: sudo apt-get install pgloader.
  2. Создайте базу данных PostgreSQL, в которую вы хотите импортировать данные. Например, используйте команду createdb mydatabase.
  3. Создайте файл конфигурации pgloader. Пример содержимого файла:
1
2
3
4
5
6
7
load database
  from mysql://user:password@localhost/mysqldatabase
  into postgresql://user:password@localhost/mydatabase

  -- перечисление таблиц, которые нужно сконвертировать:
  include ".*" except "^mysql"
;


  1. Запустите pgloader, указав путь к файлу конфигурации pgloader /path/to/config-file.conf.
  2. Подождите, пока pgloader завершит конвертацию.
  3. Проверьте результаты импорта в базу данных PostgreSQL.

Пользователь

от jett , 6 месяцев назад

@montana_hand 

Для проведения конвертации дампа MySQL в PostgreSQL, вы можете также воспользоваться утилитой pg2pg. Ниже приведены основные шаги, которые необходимо выполнить для успешной конвертации:

  1. Установите pg2pg на вашем компьютере. Для этого можно воспользоваться pip (если используется Python) или скачать из официального репозитория.
  2. Создайте дамп базы данных MySQL с помощью команды mysqldump. Например: mysqldump -u username -p dbname > dump.sql.
  3. Затем, используйте команду pg2pg для конвертации дампа MySQL в PostgreSQL. Например: pg2pg -d mysql -f dump.sql -t postgresql -U username -W password.
  4. После успешной конвертации, вы можете импортировать данные в базу данных PostgreSQL с помощью команды psql -U username -d dbname -f dumpfile.sql.


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