【问题标题】:Heroku PG: Recover Write access revokedHeroku PG:恢复写访问被撤销
【发布时间】:2014-04-07 14:52:07
【问题描述】:

我的 heroku 开发计划中有一个 Write access revoked,因为我的数据库中有太多行。

这是我得到的结果:

$ heroku pg:info
=== HEROKU_POSTGRESQL_WHITE_URL (DATABASE_URL)
Plan:        Dev
Status:      available
Connections: 1
PG Version:  9.2.7
Created:     2013-06-21 13:24 UTC
Data Size:   12.0 MB
Tables:      48
Rows:        10564/10000 (Write access revoked) - refreshing
Fork/Follow: Unsupported
Rollback:    Unsupported
Region:      Europe

从那时起,我删除了一半的行,因为它们是由退化的脚本创建的,并且我在我的开发环境中。我在 pgadmin 和 rails 控制台中进行了检查,看来这些行实际上已被删除。

如何将write access 恢复到我的数据库?我不想升级,因为我通常不需要它。已经等了 2 个小时了,一切都没有改变。

我读到heroku pg:info 更新速度不是很快,但那我该怎么办?

感谢支持

【问题讨论】:

    标签: postgresql heroku


    【解决方案1】:

    我遇到了same restrictions,但由于超出了 heroku 的 GB 数据大小限制(而不是行限制),但结果是一样的(“写访问被撤销;数据库删除迫在眉睫”)。

    仅删除行不足以释放磁盘空间 - 删除行后,我还必须运行 postgres VACUUM FULL 命令才能看到使用 @ 返回的磁盘空间减少数字987654324@.

    Here 是解决步骤的完整说明。

    【讨论】:

      【解决方案2】:

      根据 Heroku 文档:https://devcenter.heroku.com/articles/heroku-postgres-plans#row-limit-enforcement

      当您超过爱好层行限制并尝试插入时,您将看到 Postgres 错误:

      permission denied for relation <table name>
      

      爱好层数据库计划的行限制通过以下机制强制执行:

      1. 当 hobby-dev 数据库达到 7,000 行或 hobby-basic 数据库达到 700 万行时,所有者会收到一封警告电子邮件,说明他们已接近行数限制。

      2. 当数据库超出其行容量时,所有者将收到额外的通知。此时,数据库将获得 7 天的宽限期,以减少记录数或迁移到另一个计划。

      3. 如果行数在 7 天后仍然超过计划容量,则数据库上的 INSERT 权限将被撤销。仍然可以从数据库中读取、更新或删除数据。这可确保用户仍然能够使其数据库合规,并保留对其数据的访问权限。

      4. 一旦行数再次符合计划限制,INSERT 权限将自动恢复到数据库。请注意,数据库大小是异步检查的,因此恢复权限可能需要几分钟时间。

      因此,您很可能必须升级您的数据库计划

      【讨论】:

      【解决方案3】:

      对于 Starter 层(现在称为 Hobby 层),有关行数、表数和数据库大小的统计信息由后台工作人员定期计算和更新。它们可能会滞后几分钟,但通常不超过 5 或 10 分钟。

      在您清除数据以低于行限制后,可能需要 5-10 分钟才能自然恢复写访问权限。您通常可以通过运行pg:info 来加速此过程,这应该会导致发生刷新(因此您会看到上面的refreshing)。

      预计不会 2 小时。如果您仍然被锁定并且您确定自己在行数以下,请在help.heroku.com 开一张票

      【讨论】:

      • 可能出现了一些意外延迟,或者我应该运行pg:info 两次,但现在它又回来了。 :) 感谢您的支持和准确的回答!
      • 根据this KB article 的说法,有时可能需要几个小时而不是几分钟才能自然恢复写入权限。
      猜你喜欢
      • 2019-12-18
      • 1970-01-01
      • 2020-11-13
      • 2019-05-12
      • 2017-11-07
      • 2015-02-11
      • 2014-02-07
      • 1970-01-01
      • 2021-03-03
      相关资源
      最近更新 更多