ActiveRecord :: StatementInvalid:PG ::错误:错误:无法在Heroku中的只读事务错误中执行UPDATE

我使用关注者在Heroku上创建了一个新数据库。 在它提交0后,我取消关注主数据库并将其作为默认值提升。

似乎工作正常,但看起来只读。 当我尝试从控制台中删除记录时,我看到了这个错误

ActiveRecord::StatementInvalid: PG::Error: ERROR: cannot execute UPDATE in a read-only transaction 

知道怎么解决这个问题吗?

副本从未真正升级过。 看评论。

您可以判断副本何时跟随主服务器,因为:

 SELECT pg_is_in_recovery(); 

将返回true。 这在主服务器中无法返回true,因为主服务器可以恢复的唯一时间是它仍在启动时 – 然后您无法连接到它,因此您无法运行该命令。 从9.2和9.3beta开始就是如此; 这可能会在将来的版本中发生变化,因此如果您正在阅读此版本并在较新版本上检查是否有专用function来检查服务器是否为副本。