22

昨晚我开始在 Heroku 上进行迁移,几个小时都没有给我任何反馈,最终我停止了迁移,因为不清楚系统是否在做任何事情。

从那以后,这就是一场噩梦。我无法访问 中的相关数据库表heroku console,无法迁移、回滚或使用 pgbackups。

有用的是,pgbackups 刚刚给了我一个简单的解释:

a transfer is currently in progress

我假设这是我几个小时前尝试执行的迁移。我怎样才能停止Heroku 正在做的任何事情,以便我可以快速恢复并重新启动并运行?

4

5 回答 5

57

您可以通过找到备份的名称然后将其销毁来删除卡在“当前正在进行传输”的问题备份。例如

heroku pgbackups

我的问题备份是这样列出的:

b210 | 2013/01/02 12:29.33 | unknown | DATABASE_URL

所以为了摧毁它,我只是做了:

heroku pgbackups:destroy b210

它为我删除了问题备份,因此我可以继续正确使用 pgbackups。

于 2013-01-02T13:01:40.277 回答
2

我也刚遇到这个问题。找到了一种更简单的修复方法 - 简单地删除 pgbackups 插件。

heroku addons:remove pgbackups
heroku addons:add pgbackups

警告如下评论中所述,这将破坏所有现有的备份!

于 2013-02-12T23:05:14.423 回答
2

我不小心从我的COLOR_URL数据库转移到DATABASE_URL了同一个数据库。 heroku pgackups:transfer让这种情况发生,导致主数据库卡在

a transfer is currently in progress

我通过查看进程列表pg:ps并终止所有连接来修复它pg:killall 这样做之后,查看pg:ps进程列表是空的,我可以再次使用主数据库pgbackups

注意这可能是破坏性操作,因此请确保在执行此操作之前拥有快照。

于 2014-04-25T12:54:05.333 回答
0

真正的解决方案是联系 Heroku 支持并让他们为您杀死流氓进程。他们说他们正在重新设计 pgbackups 以给予用户更多的控制权。

于 2014-05-02T18:28:04.417 回答
-1

一直不清楚发生了什么——大约一天后,我能够与之交互heroku console,但我再也无法运行另一次迁移。这就是我所做的:

  1. 将我的应用程序重命名为其他名称。
  2. 在其位置创建了一个新应用程序,检查堆栈是否相同,并复制所有附加组件和域。
  3. 我从 pgbackups 恢复了数据库(如果你不使用这个插件,强烈推荐)。

这解决了问题。注意:请仔细检查您的 pgbackup 不会导致不可接受的数据丢失。

于 2012-06-21T00:00:13.777 回答