我想将数据库从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。
答案 0 :(得分:3)
MySQL中使用的SQL和Postgres中使用的SQL不是一对一的互相兼容。你需要一个转换器程序来处理任何非平凡的事情。
来自--compatible
的文档:
此选项不保证与其他服务器的兼容性。
换句话说,它只是稍微更兼容。
有Navicat之类的商业产品可以帮助您自动执行此操作,或者您可以以XML,JSON或CSV等中性格式转储所有MySQL数据,并使用其他工具将其读回