ActiveRecord :: StatementInvalid:PG :: ReadOnlySqlTransaction: – 即使在取消关注后,Heroku数据库仍然只读

我想在heroku中将数据库从一个应用程序复制到另一个应用程序。 我有一个索引问题迫使我使用跟随数据库然后取消关注。

我的问题是,现在在创建了关注者,取消关注并推广它之后,我在尝试写入时遇到错误:

ActiveRecord::StatementInvalid: PG::ReadOnlySqlTransaction: ERROR: cannot execute ALTER TABLE in a read-only transaction

另外,当我运行时: SELECT pg_is_in_recovery(); 我明白了

我做的是:
heroku addons:create heroku-postgresql:standard-4 –follow MAIN_DB_ADDON_NAME -a app-that-follows

heroku pg:unfollow HEROKU_POSTGRESQL_COLOR_URL -a app-that-follows

heroku pg:promote HEROKU_POSTGRESQL_COLOR_URL -a app-that-follows

知道为什么我会收到这个错误,更重要的是, 我该怎么解决

谢谢,
乌里

过了一会儿,数据库又变得可写了。 我附上了我从heroku支持得到的答案:

当您取消关注主数据库时,关注者是否完全是最新的? 如果跟随者有一堆构建的WAL,它有时会使数据库恢复,直到它能够重放所有的WAL。

事实上,当你执行pg:info并拥有一个关注者数据库时,你可以看到一个Behind By字段,显示你的追随者落后的提交数量。

我的落后了,所以花了一段时间赶上……

将此添加到heroku postgres文档中可能是个好主意