在搞乱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'
我尝试使用我昨天使用的两个版本的pg gem(0.18.4
和0.19.0
),指定Gemfile中的确切版本,安装它们({{ 1}})并通过检查bundle install
确认该版本已被使用。两者都会产生错误。
我并不是很有经验,尤其是Postgres。我不知道宝石和操作系统包是如何一起玩的。所以我想知道是否有人知道发生了什么并给我一个提示?
谢谢
答案 0 :(得分:1)
问题是Postgres版本。 in 9.6 pg_stat_activity
...用wait_event_type和替换等待列 wait_event函数。
作为解决方法,您可以尝试更改脚本,从而导致异常:
, age(now(), xact_start) AS duration, waiting,
为:
, age(now(), xact_start) AS duration, case when wait_event_type is null then false else true waiting,
答案 1 :(得分:1)
我有以下问题和建议
bundle install
您是否切换到另一个ruby版本(即使是次要版本)?如果是这样,请删除整个gemset(rvm gemset delete
)并运行一个新的bundle install
。这将针对更新的ruby版本构建所有本机扩展。
希望这有帮助。