mysqldump兼容模式postgresql不工作

sczxawaw  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(490)

我需要把mysql数据库转换成postgres。为了进行测试,我安装了一个本地mysql数据库,并用一个表创建了一个简单的测试数据库。现在我不想用这个选项进行sql转储 --compatible=postgresql :

mysqldump test --compatible=postgresql -uroot > ~/Documents/testdump.sql

但我总是收到以下错误信息:

Invalid mode to --compatible: postgresql

我使用的是osx,安装的mysql使用的是自制软件
mysql版本是: stable 8.0.12 (bottled) 我还尝试了docker容器和最新版本 8.0.12 但它也给了我同样的错误信息。我需要兼容模式,这样我就可以使用带有python脚本的dump将其转换为postgresql。
编辑:
我降级为 5.7 它现在正在工作-我还在想为什么它不能与新版本一起工作。

tzdcorbm

tzdcorbm1#

如果您查看mysql 8的文档,您会发现:
--compatible=名称
生成与其他数据库系统或较旧的mysql服务器更兼容的输出。此选项唯一允许的值是ansi,其含义与设置serversql模式的相应选项相同。
因此,将name的值设置为postgresql是行不通的。
https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_compatible
为了 5.7 以下值是可能的,这就是降级使您能够使用所需值的原因:
--compatible=名称
生成与其他数据库系统或较旧的mysql服务器更兼容的输出。name的值可以是ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no\ key\ options、no\ table\ options或no\ field\ options。

相关问题