将Heroku高级PostgreSQL版降级为标准版?

10

降级高级 Postgres 级别到标准级别有多难?

只需要创建一个标准级别的从属实例,等待从属实例追上主实例,然后交换即可吗?

还是说,理想情况下,有一种更简单(只需一个按钮)的方法可以将高级级别转换为标准级别(或反之亦然)?

4个回答

11

是的,Mike Curtiss更容易,但需要遵循同样的步骤,简要说明如下:

# first, list your databases
heroku pg -a <your-app-name>

# In my case, my current database is named PUCE and my old database is named WHITE, I want to copy the data from PUCE to WHITE
heroku pg:copy HEROKU_POSTGRESQL_PUCE_URL HEROKU_POSTGRESQL_WHITE_URL -a <your-app-name>

# now, I just need to make WHITE the active database
heroku pg:promote HEROKU_POSTGRESQL_WHITE_URL -a <your-app-name>

就这样。然后我从资源面板中删除了PUCE。

哦,您需要安装heroku toolbelt才能运行那些命令。 从这里安装:https://toolbelt.heroku.com/


6

降级或升级Heroku高级PostgreSQL版的两种方法

  • 首先,列出您的数据库

    heroku pg -a <您的应用程序名称>

在我的情况下,我的当前数据库名为PUCE,旧数据库名为WHITE,我想将数据从PUCE复制到WHITE

heroku pg:copy HEROKU_POSTGRESQL_PUCE_URL HEROKU_POSTGRESQL_WHITE_URL -a <您的应用程序名称>

现在,取消关注PUCE

heroku pg:unfollow HEROKU_POSTGRESQL_PUCE_URL -a <您的应用程序名称>

现在,只需提升数据库

heroku pg:promote HEROKU_POSTGRESQL_WHITE_URL -a <您的应用程序名称>

我还通过以下方式重新启动了dynos heroku ps:restart -a <您的应用程序名称>

  • 第二种方法

为您的数据库创建一个新的follower,并等待follower追上主数据库:

heroku addons:create heroku-postgresql:standard-2 --follow HEROKU_POSTGRESQL_PUCE_URL -a <您的应用程序名称>

当follower追上主数据库时,它将变为只读查询可用 使用heroku pg:wait跟踪状态

heroku pg:wait -a <您的应用程序名称>

heroku pg:info -a <您的应用程序名称>

Following: HEROKU_POSTGRESQL_PUCE (DATABASE_URL) Behind By: 125 commits

heroku maintenance:on -a <您的应用程序名称>

heroku pg:info -a <您的应用程序名称>

Following: HEROKU_POSTGRESQL_PUCE_URL (DATABASE_URL) Behind By: 0 commits 如果pg信息显示落后于0,则可以进行以下查询

heroku pg:unfollow HEROKU_POSTGRESQL_WHITE_URL -a <您的应用程序名称> heroku pg:promote HEROKU_POSTGRESQL_WHITE -a <您的应用程序名称>

正在将HEROKU_POSTGRESQL_WHITE_URL提升为DATABASE_URL...完成

heroku maintenance:off -a <your-app-name>

参考资料

以上命令用于关闭 Heroku 应用的维护模式,其中 <your-app-name> 为您的应用名称。详细信息请参考上述链接。

当我尝试进行推广时,出现了“不是关注者”的错误提示。 - Surya

1

没有简单的方法可以降级。我向Heroku技术支持提出了这个问题,他们说降级的过程与升级完全相同(即创建一个跟随者层,然后切换到该层)。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接