将数据库从 Heroku 迁移到 AWS

Posted

技术标签:

【中文标题】将数据库从 Heroku 迁移到 AWS【英文标题】:Migrate database from Heroku to AWS 【发布时间】:2014-10-16 03:05:26 【问题描述】:

我想将我们的 postgres 数据库从 heroku 迁移到我们自己在 AWS 上的 postgres。

我已经尝试使用 pg_dump 和 pg_restore 进行迁移并且它有效;但要做到这一点需要很长时间。我们的数据库大小约为 20GB。

以最少的停机时间进行迁移的最佳方法是什么?

【问题讨论】:

【参考方案1】:

如果您指的是 AWS RDS PostgreSQL:

pg_dumppg_restore

我知道你不喜欢它,但你真的没有其他选择。通过大量的箍跳,您可能可以在附近的 EC2 实例上使用 Londiste 或 Slony-I 来完成,但这会......很有趣。至少可以说,这不是最友好的升级方式。

您应该能够将 WAL 发送到 RDS PostgreSQL 和/或流式复制日志。不过Amazon don't support this.

希望 Amazon 将采用 9.4 的逻辑复制和逻辑变更集提取功能的一部分,或者更好的是 BDR project - 但我不会屏住呼吸。

如果您指的是 AWS EC2

如果您使用 Pg 运行自己的 EC2 实例,请使用 replication,然后将备用实例提升为新的主实例。

【讨论】:

我询问了 heroku 支持,他们说他们不支持 heroku 之外的从属数据库。你以前做过吗? 啊,我错过了 Heroku 部分。你仍然可以让 Slony 或 Londiste 工作,但流式复制你不走运。

以上是关于将数据库从 Heroku 迁移到 AWS的主要内容,如果未能解决你的问题,请参考以下文章

从 Heroku 迁移到 AWS 时的清单

解析迁移到关于图像的 heroku/aws

实战应用:借助Kubernetes不停机从Heroku迁移至AWS

使用 React 迁移 Heroku 到 AWS

Parse Image + Parse httpRequest 替换——从 Parse Cloud Code 迁移到 Parse Server on Node (Heroku / AWS / DO)

将数据库从本地 django 迁移到 heroku