mysql - 将 MySQL 数据库内容迁移到 PostgreSQL

标签 mysql database postgresql migration database-migration

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

问题是,当我使用这样的选择查询时(不要关心名称,只是一个示例)

选择 id AS id_x,名称 AS name_x,name2 AS name2_x

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

我已经找到了有关此主题的多个链接。

我可以使用mysqldump转储表并设置--complete=name参数。这里的问题是,我无法添加 SELECT 语句,对吗?我只能添加 where 检查。

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

最佳答案

您可以考虑通过发出来创建临时表

SELECT id AS id_x, name AS name_x, name2 AS name2_x FROM oldtable INTO temptable

然后作为第二步,使用带有 --兼容= 参数的 mysqldump 导出临时表。

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

关于mysql - 将 MySQL 数据库内容迁移到 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35865787/

相关文章:

django.db.utils.ProgrammingError : type "raster" does not exist

mysql - 意外结果 - MySQL SELECT 基于日期比较

php - 在将现有的 php 应用程序移植到 CakePHP 时,如何为模型使用非标准表/列名称?

php - 提交表单后,获取另一个表的条目ID

php - 如何使用 Laravel Eloquent ORM 搜索加密值?

database - 当插入比查询多得多时必须应用数据库规范化吗?

ruby-on-rails - Rake 中止...表 'users' 已存在

asp.net - 一种在页面上存储 View 以及何时保存到数据库的快速方法

postgresql - 如何从主机访问 docker postgres db

postgresql - 如何提高 postgres 查询的选择速度?