6

我已经克隆了 Diaspora 的来源,并且我有一个可以正常运行的本地 pod。但是当我运行$ 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
4

3 回答 3

3

我遇到了同样的问题,发现通过使用本地 unix 套接字文件,而不是通过 localhost 访问 Postgres 服务器,问题似乎已经消失了。

为此,请host: localhost从您的 database.yml 文件中删除 ,然后重新运行rake spec. 这默认返回到本地套接字文件(通常是 /tmp 或 /var/run/postgres 中的 .s.PGSQL.5432,具体取决于您的平台。)

于 2014-07-29T13:41:18.847 回答
0

我遇到了同样的问题。我尝试恢复为pgversion0.18.0而不是0.18.1,这似乎为我解决了问题。

于 2015-03-26T23:02:52.073 回答
0

转到postgres.conf并更改ssl = truessl = false

我在这里找到了解决这个问题的方法,它对我有用。

于 2015-12-11T01:44:28.480 回答