我正在将应用程序迁移到另一台服务器,并需要将数据库内容从MariaDB迁移到Postgresql。
大多数文档指出,以下格式应该足以转储表:
mysqldump -u root -p --compatible=postgresql db > db.sql (and once with --default-character-set=utf8)
当我在Postgres中重新导入数据库时,出现了一些语法错误; 以前没有发生过MySQL数据库的事情,所以我怀疑它与MariaDB有关。 从MariaDB将数据库迁移到其他MySQL服务器时,遇到了类似的问题。
我检查了一些由Postgres文档推荐的工具,但无济于事。
为了进一步做实验,我用--compatible=mysql转储,然后导入到一个MySQL服务器以便用Postgres设置重新转储它,并添加:
SET standard_conforming_strings = 'off'; SET backslash_quote = 'on';
到转储文件的开始,然后在postgres中导入它,这让我获得了一些成功,直到在转储文件中深入到另一个语法错误(在这一点上,像2498行)。
有一个更可靠的方法转换MariaDB数据库到Postgres兼容转储?