gpt4 book ai didi

postgresql - 有没有办法从 Heroku 共享数据库升级到像 Basic 或 Crane 这样的生产级数据库?

转载 作者:行者123 更新时间:2023-11-29 11:45:55 25 4
gpt4 key购买 nike

我已经在应用程序中使用 Heroku 共享数据库一段时间了,我想升级到他们的新 Basic/Crane/etc。生产级数据库。然而,我没有看到一条明确的途径来做到这一点。

我看到的选项是:

  1. 我可以使用 db:pull/db:push 将数据/模式从当前生产数据库迁移到新数据库。我可以进入维护模式,移动数据,然后更新配置以指向新数据库。不可怕,但我担心共享数据库中的旧模式与 v9 不兼容?也许我错了。这也可能需要很长时间,导致一些重大的停机时间。不酷。

  2. 使用 pg:backups 创建备份,并使用 heroku pg:restore 移动数据。我再次担心相同的架构问题,但这会快得多。

  3. 从 Basic/Crane 数据库开始,并使用他们的 Followers 概念。这感觉是正确的做法,但我不知道这是否适用于共享数据库。如果是这样,我不明白是怎么回事。

我觉得所有这些选项都需要我在某个时候升级到 postgres v9,因为所有新数据库都是 v9。有没有办法在共享环境中执行此操作,然后迁移可能会不那么痛苦……也许吧。

有什么想法或建议吗?

最佳答案

他们的 Migrating Between Databases文档指出,当您从共享实例开始时,您的选项 (3) 使用 Followers 进行快速转换不起作用。您在这里应该做的是使用 pg:backups 创建第二个数据库来测试您的应用程序并确认新数据库在那里正确运行。如果可行,请打开维护模式并再次进行真正的迁移。

PostgreSQL 8.4 和 9.1 之间几乎没有架构级别的不兼容问题。该迁移文档警告其中之一,即 Bytea 更改。如果您正在使用 Bytea,您可能知道它;这并不常见。这些版本之间更改的大多数其他内容也是您不太可能使用的功能,例如 PL/pgSQL modifications在 PostgreSQL 9.0 中制作。同样,如果您正在使用 PL/pgSQL 服务器端函数,您可能也知道这一点,而 Heroku 上的大多数人都不知道。

关于postgresql - 有没有办法从 Heroku 共享数据库升级到像 Basic 或 Crane 这样的生产级数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11711358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com