【问题标题】:Heroku: update database plan, then delete the first oneHeroku:更新数据库计划,然后删除第一个
【发布时间】:2014-03-06 20:45:26
【问题描述】:

很久以前,我在 Heroku 上更新了我的数据库计划,遵循这个清晰的教程:https://devcenter.heroku.com/articles/upgrade-heroku-postgres-with-pgbackups

所以现在我有 2 个数据库正在运行:

$ heroku pg:info
=== HEROKU_POSTGRESQL_NAVY_URL (DATABASE_URL)
Plan:        Crane
Status:      Available
Data Size:   26.1 MB
Tables:      52
PG Version:  9.2.6
Connections: 8
Fork/Follow: Available
Rollback:    Unsupported
Created:     2013-11-04 09:42 UTC
Region:      eu-west-1
Maintenance: not required

=== HEROKU_POSTGRESQL_ORANGE_URL
Plan:        Dev
Status:      available
Connections: 0
PG Version:  9.2.7
Created:     2013-08-13 20:05 UTC
Data Size:   11.8 MB
Tables:      49
Rows:        7725/10000 (In compliance, close to row limit) - refreshing
Fork/Follow: Unsupported
Rollback:    Unsupported
Region:      Europe

我不断收到邮件说我接近HEROKU_POSTGRESQL_ORANGE_URL 的速率限制。我宁愿删除它,但我想确保我不会丢失任何数据。 Heroku 不清楚:

即使在升级后,原始数据库仍将继续运行(并产生费用)。如果需要,请在升级成功后将其删除。

但是我能否 100% 确定 HEROKU_POSTGRESQL_ORANGE_URL 中的所有数据都在 HEROKU_POSTGRESQL_NAVY_URL 中重复?因为如果HEROKU_POSTGRESQL_ORANGE_URLHEROKU_POSTGRESQL_NAVY_URL 的关注者,它的数据应该和第一个一样大。

所以我只需要确认。

谢谢

【问题讨论】:

    标签: postgresql heroku


    【解决方案1】:

    在我看来,升级转储并重新加载了数据库。所以新数据库是旧数据库的副本。如果是这种情况,它将包含旧数据库中的所有数据在它被复制时 - 但是如果您继续向旧数据库添加新数据,则该数据不会出现在新数据库中一个。

    我强烈建议您在删除数据库之前:

    • pg_dump 外,禁用对它的访问
    • 使用 pg_dump 转储它(或使用 Heroku 的工具来执行此操作)
    • ...然后才删除它。

    这样,如果您发现自己犯了错误,您可以恢复转储。

    【讨论】:

    • 非常感谢。知道如何禁用除pg_dump 之外的访问吗?
    • 在“真正的”PostgreSQL 安装中,您将使用pg_hba.conf。在 Heroku 上……你需要查看他们的文档。
    猜你喜欢
    • 2022-08-20
    • 2013-06-30
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多