Arhn - архитектура программирования

Заполнить базу данных MySQL из файла дампа postgresql

На самом деле мне нужно заполнить базу данных MySQL из файла SQL, который был создан postgresql как

pg_dump dbname > myfile.sql

Итак, если я попытаюсь сделать как

mysql> source myfile.sql

Это явно не работает. Хотя он заполнил 70% таблиц, но я хочу знать, есть ли способ добиться этого?

Из исходного файла postgresql я могу получить и заполнить свою базу данных MySql.


  • Это действительно зависит от типов данных, которые вы используете, и от того, используете ли вы пользовательские функции и триггеры. Кроме того, вам обязательно придется портировать код, использующий эти таблицы, возможно, с трудом. См. dba.stackexchange.com/q/17132/2129. 05.05.2012
  • @Bruno: у нас нет никаких триггеров или зависимости от базы данных в коде. 05.05.2012

Ответы:


1

Если вы хотите перенести данные и структуру из таблицы postgres в эквивалент mysql, проще всего использовать инструмент преобразования базы данных, например: ESF. Data Migration Toolkit или аналог с открытым исходным кодом openDBCopy .

Если вы не хотите или не можете использовать инструмент миграции, и вам нужно только перенести данные, другим простым способом может быть экспорт данных в формате CSV из PostgreSQL, а затем импорт их в MySQL, поэтому вы можете сделать это с помощью некоторых такие команды, как:

В Postgres (экспорт):

COPY (SELECT query) TO '/path to csv file -*.csv'; 

НА Mysql (импорт):

load data infile 'path to csv file-*.csv' into table tablename fields terminated by ',' lines terminated by '\n' . 

Если вы все равно хотите продолжить работу с инструментом дампа (pg_dump), вы можете добавить эти параметры, чтобы создать файл дампа, который MySQL сможет лучше понять:

-d --data-only --no-owner --no-acl --attribute-inserts --disable-dollar-quoting --no-tablespaces

Имейте в виду, что в зависимости от структуры исходной базы данных вам, возможно, придется манипулировать файлом дампа, чтобы позволить MysQL понять сгенерированный файл дампа...

05.05.2012
  • У меня нет ни схемы, ни данных для MySql, хотя у меня есть только заполненная база данных. 05.05.2012

  • 2

    Лучший способ выполнить миграцию без потери данных — использовать миграции Mysql Workbench. Этот руководство объясняет, как выполнить миграцию. Несколько вещей, не упомянутых в руководстве, которые я считаю важными, перечислены ниже:

    • Установите последние версии драйверов postgres для подключения исходной базы данных postgres, как установить этот драйвер, можно найти в этом tutoria:
    • Загрузите и установите драйверы postgres odbc с здесь
    • После установки вы увидите драйверы в «Открыть администратора ODBC» 1. введите здесь описание изображения 2.
    • Используйте «PostgreSQL Unicode (x64)» в качестве драйвера при настройке исходной базы данных postgres введите здесь описание изображения

    Примечание: использование «PostgreSQL ANSI(x64)» в качестве драйвера приводит к ошибке во время миграции. Возможно, мои данные содержат символы Юникода.

    02.03.2017
  • Требуется вход в оракул. 08.12.2020
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..