在弄乱 gemsets 和 pg gem 版本后运行我的规范时遇到此错误消息:
# --- Caused by: ---
# PG::UndefinedColumn:
# ERROR: column "waiting" does not exist
# LINE 1: ...me AS source, age(now(), xact_start) AS duration, waiting, q...
# ^
# /Users/xx/.rvm/gems/ruby-2.3.3@xx/gems/pghero-1.4.2/lib/pghero/methods/basic.rb:84:in `select_all'
我已经尝试通过在 Gemfile 中指定确切的版本来使用我昨天使用的两个版本的 pg gem(0.18.4
和 0.19.0
) ,安装它们(bundle install
)并通过检查 Gemfile.lock
确认版本确实在使用。两者都不断产生错误。
我不是很有经验,尤其是 Postgres。我不知道 gems 和 OS-packages 如何协同工作等。所以我想知道是否有人知道发生了什么并给我提示?
谢谢
最佳答案
我有以下问题和建议给你
- 卸载你的 gemset 中的所有 pg gem 版本
- 卸载 pg hero gem
- 运行
bundle 安装
- 如果错误仍然存在,请尝试升级 pghero gem - 当前版本为 1.6.2(在您的错误状态 pghero 中提及这一点)
您是否切换到另一个 ruby 版本(即使是次要版本也是相关的)?如果是这样,请删除整个 gemset(rvm gemset delete
)并运行新的 bundle install
。这将针对更新的 ruby 版本构建所有 native 扩展。
希望这对您有所帮助。
关于ruby-on-rails - rails/Postgres : Error after changing pg gem version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086375/