Heroku(PG ::错误:错误:列必须出现在GROUP BY子句中或用于聚合函数
我在Heroku上收到此错误但不在本地(在两者上使用PostgreSQL)。
错误是:
ActiveRecord::StatementInvalid (PG::Error: ERROR: column "posts.content" must appear in the GROUP BY clause or be used in an aggregate function
我怀疑它与我的post模型中的这一行有关:
scope :with_tags, lambda { |tags| joins(:tags).group('posts.id').where(:tags => { :id => tags.map { |t| t.id } } ).having("COUNT(*) = ?", tags.length) }
为什么它只发生在Heroku上? 我如何解决它 ?
有人指出这是Postgres 9.0的一个问题,已在Postgres 9.1中得到修复。 在Heroku中,您可以使用Heroku Shared PostgreSQL插件而不是默认数据库,这应该可以解决问题。