将MySQL数据库内容迁移到PostgreSQL

时间:2016-03-08 11:11:02

标签: mysql database postgresql migration database-migration

我重构了一个项目,想要尝试PostgreSQL而不是MySQL。我现在想要迁移一些表的表内容。

问题是,当我使用这样的选择查询时(不要为名字烦恼,只是一个例子)

SELECT id AS id_x, name AS name_x, name2 AS name2_x

我想导出表数据并将其导入MySQL。问题是,INSERT INTO的语法在MySQL和PostgreSQL中是不同的。我不想导出整个表格,因为我也改变了结构的某些部分,试图使其更具性能等等。所以我只想获取表格数据,但我需要那些AS x事情,因为列的名称已经改变

我已经找到了关于这个主题的几个链接。

我可以使用mysqldump转储表并设置--compatible=name参数。这里的问题是,我无法添加SELECT声明,对吧?我只能添加where支票。

然后,我可以使用mysql命令导出我想要的查询,但是mysql没有任何compatible参数。我将如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以考虑通过发出

来创建临时表
SELECT id AS id_x, name AS name_x, name2 AS name2_x FROM oldtable INTO temptable

然后作为第二步,使用带有--compatible=参数的mysqldump导出temptable。

请参阅https://dev.mysql.com/doc/refman/5.7/en/select-into.html