2012-02-13 5 views
8

У меня есть файл дампа Postgres, и мне нужно превратить его в дамп MySQL, чтобы я мог создать соответствующую базу данных MySQL. Я новичок в Postgres. У меня он установлен на моем сервере Ubuntu, и я собирался посмотреть, могу ли я импортировать и экспортировать SQL. Я не знаю, как это сделать.Преобразование дампа PostgreSQL в дамп MySQL

Вот команда, я попробовал:

pg_dump -Fc --no-acl --no-owner -h localhost -U dbuser testdb > b526.dump 

Это не ошибка, но я не думаю, что что-то случилось:

testdb=# \dt; 
No relations found. 
testdb=# \d 
No relations found. 
testdb=# \t 
Showing only tuples. 
testdb=# \d 

Кроме того, я был бы признателен за более простой способ превратить это .dump в дампе MySQL.

+0

См. Http://stackoverflow.com/questions/5909223/migrate-database-from-postgres-to-mysql –

+0

Многие [связанные вопросы] (http://stackoverflow.com/search?q= [postgresql] + [MySQL] + перенос + конвертировать и отправить = поиск). –

ответ

5

Вы можете сохранить данные базы данных PostgreSQL в текстовом формате с -Fp (обычным), но после этого вам придется выполнить ручное преобразование, поскольку PostgreSQL содержит множество нестандартных расширений языка SQL.

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

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

+1

Какие * многие * нестандартные расширения вы имеете в виду? По моему опыту MySQL намного более нестандартен, чем PostgreSQL. –

+0

Просмотрите http://www.postgresql.org/docs/9.1/interactive/sql-commands.html и посмотрите примечания о совместимости в каждом разделе. – Daniel

+0

Можете ли вы предоставить ссылку о том, как сделать эти преобразования? Я установил SQL Squirrel и настроил его, но мне сложно найти информацию о преобразовании базы данных. – Amalgovinus