我需要升级 Heroku 中的数据库以支持超过 10K 行,因此在 Heroku 上将 hobby-dev 升级为 hobby-basic
I need to upgrade a database in Heroku to support more than 10K rows, thus upgrade hobby-dev to hobby-basic on Heroku
我在 Heroku 中有一个应用程序达到了 10K 行的上限,所以我必须升级我的 Heroku DB,但我对此有一些疑问,我不想完全确定我在做什么在对生产数据库做任何事情之前做。
首先,我不是 100% 完成这个过程,经过很多时间我发现 this link,所以我猜我必须将我的账单明细放在帐户设置中,添加一张信用卡,然后我就可以创建一个业余爱好数据库,每月自动从我的信用卡中扣除 9 美元,对吗?
关于更改我的应用程序数据库的过程,命令为:
- 首先我会将我的应用程序置于维护模式
heroku maintenance:on --app my_app_name
- 那我做个DB备份然后下载
heroku pg:backups:capture --app my_app_name
heroku pg:backups:download --app my_app_name
- 我也会用
得到我的旧数据库名称
heroku pg:info --app my_app_name
- 然后我新建一个DB
heroku addons:create heroku-postgresql:hobby-basic --app my_app_name
假设 HEROKU_POSTGRESQL_ROSE_URL
是新数据库的名称。
- 然后我将旧数据库中的所有记录复制到新数据库
heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name
- 为了确认我写了我的应用程序的名称
my_app_name
- 然后我指定我的新数据库为主数据库
heroku pg:promote HEROKU_POSTGRESQL_ROSE_URL --app my_app_name
- 终于把维护模式关掉了
heroku maintenance:off --app my_app_name
- 然后我删除我的旧数据库
heroku addons:destroy old_db_name --app my_app_name
一切都正确吗?
编辑:所以我做了一个创建 hobby-dev
数据库的测试,但是在这个过程结束时这个新数据库有 150 多行(之前它有大约 820 行,现在大约有 970 行),这正常吗?
此外,备份的大小为 200 KB 是否正常,而在 Heroku 界面中,数据库大小为 10 MB?
我尽量按照你提问的顺序来回答。
是的,您需要先将账单信息添加到您的帐户,然后才能配置付费插件,例如 hobby-basic
数据库。添加帐单信息后,您将可以配置数据库。
您详细说明的升级过程有些低效。排名不分先后:
- 不要等到升级过程进行到一半才创建新数据库。可以提前完成。
- 步骤 2 是不必要的。在此过程中无需下载备份。
- 在第 5 步中,您将
ROSE
数据库列为目标,但新数据库可能有不同的颜色。此信息可从 pg:info
获得
- 第6步也没有必要。您可以像这样在一行中确认,
heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name --confirm my_app_name
备份转储文件比现有数据库小很多是正常的。转储文件是压缩的二进制文件,不包含 table 膨胀或索引。在某些情况下,转储文件可能是原始数据库大小的 10%。
我在 Heroku 中有一个应用程序达到了 10K 行的上限,所以我必须升级我的 Heroku DB,但我对此有一些疑问,我不想完全确定我在做什么在对生产数据库做任何事情之前做。
首先,我不是 100% 完成这个过程,经过很多时间我发现 this link,所以我猜我必须将我的账单明细放在帐户设置中,添加一张信用卡,然后我就可以创建一个业余爱好数据库,每月自动从我的信用卡中扣除 9 美元,对吗?
关于更改我的应用程序数据库的过程,命令为:
- 首先我会将我的应用程序置于维护模式
heroku maintenance:on --app my_app_name
- 那我做个DB备份然后下载
heroku pg:backups:capture --app my_app_name
heroku pg:backups:download --app my_app_name
- 我也会用 得到我的旧数据库名称
heroku pg:info --app my_app_name
- 然后我新建一个DB
heroku addons:create heroku-postgresql:hobby-basic --app my_app_name
假设 HEROKU_POSTGRESQL_ROSE_URL
是新数据库的名称。
- 然后我将旧数据库中的所有记录复制到新数据库
heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name
- 为了确认我写了我的应用程序的名称
my_app_name
- 然后我指定我的新数据库为主数据库
heroku pg:promote HEROKU_POSTGRESQL_ROSE_URL --app my_app_name
- 终于把维护模式关掉了
heroku maintenance:off --app my_app_name
- 然后我删除我的旧数据库
heroku addons:destroy old_db_name --app my_app_name
一切都正确吗?
编辑:所以我做了一个创建 hobby-dev
数据库的测试,但是在这个过程结束时这个新数据库有 150 多行(之前它有大约 820 行,现在大约有 970 行),这正常吗?
此外,备份的大小为 200 KB 是否正常,而在 Heroku 界面中,数据库大小为 10 MB?
我尽量按照你提问的顺序来回答。
是的,您需要先将账单信息添加到您的帐户,然后才能配置付费插件,例如
hobby-basic
数据库。添加帐单信息后,您将可以配置数据库。您详细说明的升级过程有些低效。排名不分先后:
- 不要等到升级过程进行到一半才创建新数据库。可以提前完成。
- 步骤 2 是不必要的。在此过程中无需下载备份。
- 在第 5 步中,您将
ROSE
数据库列为目标,但新数据库可能有不同的颜色。此信息可从pg:info
获得
- 第6步也没有必要。您可以像这样在一行中确认,
heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_ROSE_URL --app my_app_name --confirm my_app_name
备份转储文件比现有数据库小很多是正常的。转储文件是压缩的二进制文件,不包含 table 膨胀或索引。在某些情况下,转储文件可能是原始数据库大小的 10%。