我有克隆的Diaspora来源,我有一个工作的本地吊舱似乎顺利运行。但是当我运行$ rake spec
时,一些初始测试通过,然后所有测试都开始失败。此外,我发现有趣的是,每次rake spec
运行时,它们都会在不同点失败。
他们都因错误而失败:
An error occurred in an after hook
ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor: ROLLBACK
occurred at /home/darshan/.rvm/gems/ruby-2.0.0-p353@diaspora/gems/activerecord-3.2.16/lib/active_record/connection_adapters/postgresql_adapter.rb:650:in `async_exec'
Postgres'日志说:
could not receive data from client: Connection reset by peer
unexpected EOF on client connection
答案 0 :(得分:3)
我遇到了同样的问题,发现通过使用本地unix套接字文件,而不是通过localhost访问Postgres服务器,问题似乎已经消失。
要实现此目的,请从database.yml文件中删除host: localhost
,然后重新运行rake spec
。这默认返回本地套接字文件(通常是/ tmp或/ var / run / postgres中的.s.PGSQL.5432,具体取决于您的平台。)
答案 1 :(得分:0)
我遇到了same problem。我尝试恢复为pg
版本0.18.0
而不是0.18.1
,这似乎可以解决这个问题。
答案 2 :(得分:0)
转到postgres.conf
并将ssl = true
更改为ssl = false
我找到了解决此问题的问题here,它对我有用。