首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将MySQLdump导入PostgreSQL数据库?

如何将MySQLdump导入PostgreSQL数据库?
EN

Stack Overflow用户
提问于 2022-11-23 18:05:06
回答 2查看 41关注 0票数 0

我有一个由MySQLdump生成的PHPMyAdmin,我需要将它导入一个Postgresql数据库,但是我不知道它是否可能。我见过人们推荐pgloader,但对于如何做到这一点有些困惑。而且,如果有关系的话,我也在窗户上。

我只需要表,所以我不关心旧的或新的数据库中的数据。

也没那么大,只有84张桌子。但足够让我来写了。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-23 18:12:55

您可以使用装载机

您需要对其进行安装,然后使用以下3行运行一个简单的lisp脚本(script.lisp):

代码语言:javascript
运行
复制
/* content of the script.lisp */
LOAD DATABASE
FROM mysql://dbuser@localhost/dbname
INTO postgresql://dbuser@localhost/dbname;


/*run this in the terminal*/
pgloader script.lisp

在此之后,您的PostgreSQL数据库将拥有MySQL DB中的所有信息。

票数 0
EN

Stack Overflow用户

发布于 2022-11-23 18:20:01

要做到这一点有很多资源。它们都不是简单的。

  • 您提到的pgloader是本页列出的许多工具之一:PostgreSQL#MySQL
  • MySQLdump应该有一个选项,--compatible=postgres,但不要依赖它。它对其输出进行了一些更改,但不足以完全兼容PostgreSQL语法。
  • 另一种选择是使用mysqldump --tables将表转储到CSV文件,而不是将表转储到SQL格式。然后,可以使用COPY语句在PostgreSQL中逐个加载CSV文件。

如果您的MySQL数据库包含视图或存储的例程(过程、函数、触发器或事件),那么通常任何工具都无法转换这些视图或例程。用于存储例程的PostgreSQL语言与MySQL非常不同。您必须重新开始,并在PostgreSQL中编写执行等效逻辑的例程,但以一种更适合PostgreSQL的方式编写。

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

https://stackoverflow.com/questions/74551266

复制
相关文章

相似问题

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