2017-09-26 50 views
0

我想在heroku中将数据库从一个应用程序复制到另一个应用程序。我有一个索引的问题,迫使我使用一个跟随数据库,然后取消关注。ActiveRecord :: StatementInvalid:PG :: ReadOnlySqlTransaction: - 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

任何想法,为什么我得到这个错误,而且更重要的是,如何解决这个问题呢?

感谢,
乌里

回答

0

过了一会数据库再次成为可写的。我附上了我从heroku支持获得的答案:

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

而实际上当你做一个pg:info,并有跟随分贝,你可以看到一个Behind By域显示你有多少提交您的追随者背后是。

我的是后面的路,所以把它一段时间才能赶上......

可能是一个好主意,把它添加到的Heroku Postgres的文档

相关问题