将sql文件转换并导入postgresql

时间:2017-09-19 06:59:17

标签: mysql postgresql

我想将数据库从mysql迁移到postgresql。所以,首先使用此命令执行{ "_meta" : { ... }, "_embedded" : { "searchResultItemList" : [ { ..., "_links" : { "self" : { "href" : "..." } } }, ... ] }, "_links" : { "self" : { "href" : "http://localhost:8882/api/search" } } }

mysqldump

然后我将output.sql上传到主机并使用以下命令

导入sql文件
mysqldump -u root -p --compatible=postgresql --default-character-set=utf8  databasename > output.sql

但是当我尝试导入时出现错误

psql -U root -d databasename -f /home/test/output.sql

我转储的数据库大小为7.5gb。

1 个答案:

答案 0 :(得分:3)

MySQL中使用的SQL和Postgres中使用的SQL不是一对一的互相兼容。你需要一个转换器程序来处理任何非平凡的事情。

来自--compatible的文档:

此选项不保证与其他服务器的兼容性。

换句话说,它只是稍微更兼容。

Navicat之类的商业产品可以帮助您自动执行此操作,或者您可以以XML,JSON或CSV等中性格式转储所有MySQL数据,并使用其他工具将其读回