如何将数据从 Postgres 移动到在 Amazon 的 RDS 上运行的 MySQL?

Posted

技术标签:

【中文标题】如何将数据从 Postgres 移动到在 Amazon 的 RDS 上运行的 MySQL?【英文标题】:How do I move data from Postgres to MySQL running on Amazon's RDS? 【发布时间】:2010-12-11 01:07:53 【问题描述】:

我需要将具有 Django 模式的数据库从 Postgres 移动到 mysql,并在 Amazon 的 RDF 上运行。我可以使用 manage.py 重新生成表,但我仍在寻找一种迁移所有行数据的方法。有谁知道移动它的干净方法? Amazon 的 RDF 有什么需要注意的问题吗?

【问题讨论】:

【参考方案1】:

Django 在 manage.py 中也有 dumpdata 和 loaddata 命令。过程将是

    在 MySQL 中使用同步数据库来准备表 从 PostgreSQL 转储数据 将上一个命令中的数据加载到新的 MySQL 实例中

【讨论】:

【参考方案2】:

如果你备份你的 Postgresql 数据库并选择“插入命令”选项,你最终会得到一个 SQL 插入语句的文本文件,理论上你可以针对不同的 SQL 数据库运行,在这种情况下是 MySQL。实际上,这将取决于您使用的数据库类型,因为并非所有 Postgresql 和 MySQL 数据类型都直接相互映射。

对我而言,Amazon 的 RDS 的问题是声明每周将有一个 4 小时的窗口需要关闭数据库以进行修补和维护。关系数据库的难点在于通过复制和集群使它们具有容错性。目前,Amazon 的 RDS 并没有解决这些问题中的任何一个,看起来它只是使用 EC2 实例来托管 MySQL 服务器,这在没有 RDS 的情况下很长一段时间都可以做到。

我个人喜欢 RDS 的发展方向,并期待有一天我可以将关系数据库视为黑匣子,而不必担心容错性和可扩展性,就像现在的 Amazon SimpleDB 产品一样。

【讨论】:

以上是关于如何将数据从 Postgres 移动到在 Amazon 的 RDS 上运行的 MySQL?的主要内容,如果未能解决你的问题,请参考以下文章

Django:将数据从 SQLite 移动到 PostgreSQL

如何将数据从 postgres 数据库导入到 android sqlite

如何从 Postgres 9.4 中转储大对象数据,然后将其导入 Postgres8.x?

如何从公共服务器 postgres 数据库将数据源加载到网关?

我应该如何使用 pgAdmin 3 将数据从 CSV 导入 Postgres 表?

如何从本地系统连接到 Linode 中的 postgres