gpt4 book ai didi

ruby-on-rails - ActiveRecord::StatementInvalid: PG::ReadOnlySqlTransaction: - 即使取消关注后,Heroku 数据库仍然只读

转载 作者:行者123 更新时间:2023-11-29 13:17:51 26 4
gpt4 key购买 nike

我想在 heroku 中将数据库从一个应用程序复制到另一个应用程序。我遇到索引问题,迫使我使用关注者数据库执行此操作,然后取消关注。

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

ActiveRecord::StatementInvalid:PG::ReadOnlySqlTransaction:错误:无法在只读事务中执行 ALTER TABLE

此外,当我运行:SELECT pg_is_in_recovery(); 我得到 true

我所做的是:
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 支持那里得到的答案:

When you unfollowed the primary database, was the follower completely up to date? If the follower has a bunch of built up WAL it can sometimes leave the database in recovery until it is able to ro replay all of the WAL.

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

我的落后很多,所以过了一段时间才 catch ...

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

关于ruby-on-rails - ActiveRecord::StatementInvalid: PG::ReadOnlySqlTransaction: - 即使取消关注后,Heroku 数据库仍然只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com