首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将mysql转换为postgresql?

如何将mysql转换为postgresql?
EN

Database Administration用户
提问于 2012-01-03 18:28:22
回答 2查看 12.2K关注 0票数 14

我正在拼命寻找一个转换工具,以将一个大型mysql数据库转换为postgresql。我需要工具/脚本是:

  • 免费
  • 在Linux下工作
  • 简单易用,不漏油
  • 你真的试着确认了
  • 最好不是用Java或Ruby编写的

我尝试过列出这里的不同工具,但没有一种适合我。

提前谢谢你。

EN

回答 2

Database Administration用户

发布于 2012-01-03 22:00:29

在两个非常不同的DBMS之间迁移不仅需要迁移数据。但是数据的迁移通常是最容易的部分。

我试过的方式是免费的,我可以确认它是有效的:

  • 创建mysql模式仅转储
  • 使用文本编辑器和大量搜索和替换来调整SQL。
  • 在Postgres中运行转换后的SQL
  • 从MySQL (例如CSV或其他分隔格式)创建纯文本转储
  • 使用PostgreSQL的COPY命令导入数据

如果依赖MySQL的行为来接受非法数据(比如2月31日),导入数据可能会很困难。

我的猜测是,这将比搜索一个工具更快,评估其中的一堆,然后试着理解你选择的工具。但这取决于你指的是哪种“大”。如果大的是几百个表,这可能是不可行的。如果大型只指行数,那么这可能是最快的方法。

有一些工具可以以DBMS独立(XML)格式转储数据库模式,比如液基SchemaSpyWbSchemaReport。因为Liquibase可能是最容易使用的。其他的则需要一些手工编写/扩展XSLT来转换生成的XML。

如果您在MySQL中使用触发器和存储过程,我不认为会有任何自动工具可以在不需要后续的主要手动修复的情况下翻译它们--然后生成的过程可能不会使用目标DBMS的任何高级特性。

票数 7
EN

Database Administration用户

发布于 2012-01-04 14:07:19

我把它扔出去了,从来没有试过,但是Tungesten复制器可能会做你想做的事。它主要是一个复制工具,但我认为它可能有一个引导过程,至少可以帮助您处理数据块。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/10090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档