我拼命寻找一个转换工具将一个大的mysql数据库转换为postgresql.我需要工具/脚本:
>免费
>在Linux下工作
>使用简单,而且没有错误
>您实际上已经尝试并确认其有效
>最好不要用Java或Ruby编写
我尝试过列出here的不同工具,但没有一个适合我.
先感谢您.
解决方法:
在两个非常不同的DBMS之间迁移需要的不仅仅是迁移数据.但数据迁移通常是最简单的部分.
我试过的方式,这是免费的,我可以确认它有效:
>只创建一个mysql架构转储
>使用文本编辑器和大量搜索和替换来调整SQL
>在Postgres中运行转换后的SQL
>从MySQL创建纯文本转储(例如CSV或其他一些分隔格式)
>使用PostgreSQL的COPY命令导入数据
如果依靠MySQL的行为接受非法数据(如2月31日),导入数据实际上可能会很困难
我的猜测是,这比搜索工具,评估一堆工具然后试图理解你选择的工具要快得多.但这取决于你指的是什么样的“大”.如果大数是几百个表,这可能是不可行的.如果big只引用了行数,那么这可能是最快的方法.
有一些工具可以以DBMS独立(XML)格式转储数据库模式,如Liquibase,SchemaSpy或WbSchemaReport.Liquibase可能是最容易使用的.其他人需要一些手动工作来编写/扩展XSLT来转换生成的XML.
如果您在MySQL中使用触发器和存储过程,我不相信会有任何自动化工具可以转换它们而不需要事后进行大量手动修复 – 然后生成的过程可能不会使用目标DBMS的任何高级功能.
标签:linux,mysql,postgresql
来源: https://codeday.me/bug/20190805/1588079.html