9

如果这是一个愚蠢的问题,我很抱歉,我是 Heroku 托管的新手,希望 StackOverflow 的一位专家可以帮助我。

我最初为我的 heroku 应用程序注册了一个基本的免费 postgres 数据库,但最近我达到了 10K 行的限制,并想升级到每月 9 美元的计划。但是,我完全不知道该怎么做。这是一个相对简单的过程吗?我觉得不得不问这个问题很愚蠢。

当我登录 heroku 并单击我的应用程序时,我会看到我的应用程序的附加组件列表。当我单击 Postgres 插件时,它会将我带到一个单独的网页,但我没有看到任何升级我的数据库计划的选项。

有小费吗?

谢谢!

4

3 回答 3

24

在实用的方式中,您可以这样做来升级您的 postgres 数据库计划:

  1. heroku config

    // It will show current database URL
    HEROKU_POSTGRESQL_COPPER_URL: postgres://xxxddxxdx:sfsdfsfs-SIT@ec2-107-20-220-251.compute-1.amazonaws.com:5432/xdfdsxdxxxx
    HEROKU_POSTGRESQL_SILVER_URL: postgres://fasdfsad:dsfsdfdsafdsf@ec2-54-225-136-187.compute-1.amazonaws.com:5432/sdfasdfdasfds
    
    // Default database set
    DATABASE_URL:  postgres://fasdfsad:dsfsdfdsafdsf@ec2-54-225-136-187.compute-1.amazonaws.com:5432/dsfsdf
    
  2. 创建一个新数据库 heroku addons:create heroku-postgresql:hobby-basic(但我建议您进入服务器资源部分并单击编辑插件并添加 pgsql 并将计划从免费更改为您所需的计划)

  3. 运行这些命令以防止数据库更新: heroku maintenance:onheroku ps:scale worker=0

  4. 将当前数据库复制到新数据库heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_COPPER_URL --app prod-test

    笔记:

    DATABASE_URL = It is config veriable which point default current db
    HEROKU_POSTGRESQL_COPPER_URL = This is config variable for which db I just created
    prod-test = It is my APP name
    
  5. 提升新数据库(将新数据库设为默认数据库) heroku pg:promote HEROKU_POSTGRESQL_COPPER_URL

  6. 重新启用工人/测功机 heroku ps:scale worker=1heroku maintenance:off

  7. 删除旧数据库 heroku addons:remove HEROKU_POSTGRESQL_SILVER_URL

于 2015-07-25T05:20:40.783 回答
10

Heroku 的网站上有一个文档可以做到这一点:Upgrade Heroku postgres with pgbackups

简而言之,步骤如下:

  • 设置一个新的新基本数据库
  • 防止更新(开启维护模式)
  • 捕获您的备份
  • 将备份还原到新数据库
  • 推广您的新数据库
  • 使您的应用处于活动状态

如果您决定执行生产计划,这些也是要遵循的相同步骤。

于 2013-03-19T16:15:28.970 回答
1

这是一个直截了当的过程。他们在这里有一篇文章。

于 2013-03-19T16:15:03.817 回答