【问题标题】:Heroku postgres: How to fork pg database with rollback to recover lost dataHeroku postgres:如何通过回滚来分叉 pg 数据库以恢复丢失的数据
【发布时间】:2019-04-25 07:32:53
【问题描述】:

我不小心从我们的生产数据库 (Heroku postgres) 中删除了 3 行。我按照 Heroku 的这个指南创建了一个回滚分叉:https://devcenter.heroku.com/articles/heroku-postgres-rollback

我的生产数据库名为 HEROKU_POSTGRESQL_IVORY,并且在计划 Standard-0 上。

我已经尝试了他们建议的命令的多种组合:

$ heroku addons:create heroku-postgresql:standard-0 --rollback 
HEROKU_POSTGRESQL_IVORY --TO '2018-11-22 13:13+00' --APP my_app

$ heroku addons:create heroku-postgresql:standard-0 --rollback 
HEROKU_POSTGRESQL_IVORY --TO '2018-11-22 13:13+00:00' --APP my_app

$ heroku addons:create heroku-postgresql:standard-0 --rollback 
HEROKU_POSTGRESQL_IVORY --BY '0 days 1 hours 0 minutes' --APP my_app

这三个都创建了一个未回滚的数据库。当我运行heroku pg:info -a my_app 时,我可以看到新创建的数据库,但它提供的回滚版本永远不会来自所需的时间,并且我删除的行不存在:

Plan:                  Standard 0
Status:                Available
Data Size:             52.4 MB
Tables:                34
PG Version:            10.6
Connections:           8/120
Connection Pooling:    Available
Credentials:           2
Fork/Follow:           Available
Rollback:              earliest from 2018-11-22 14:17 UTC
Created:               2018-11-22 14:10 UTC
Region:                eu
Data Encryption:       In Use
Continuous Protection: On
Forked From:           HEROKU_POSTGRESQL_IVORY
Maintenance:           not required
Maintenance window:    Wednesdays 21:00 to Thursdays 01:00 UTC
Add-on:                postgresql-deep-1111

【问题讨论】:

  • 您可以添加来自pg:info 的完整输出吗?或者至少是IVORY 的信息?另外,您是否升级了IVORY 以尝试访问回滚功能?还是一直是标准 0?
  • @RangerRanger 感谢您的帮助,我一定会在未来发布更完整的问题。我其实只是想通了。它使用的是 --TO 而不是 --to !我确定我没有自己写完整的东西,我从某个地方复制了它,但那是我的错。
  • 很高兴听到这个消息!

标签: heroku heroku-postgres heroku-cli


【解决方案1】:

发布后我很快意识到:

确保您使用小写的标志:

  • --to 而不是 --TO
  • --by 而不是 --BY

【讨论】:

    猜你喜欢
    • 2018-09-03
    • 1970-01-01
    • 2018-02-21
    • 2021-06-05
    • 2013-08-29
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    相关资源
    最近更新 更多