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插件而不是默认数据库,这应该可以解决问题。