无法从黄瓜测试连接到PostgreSQL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从黄瓜测试连接到PostgreSQL相关的知识,希望对你有一定的参考价值。

在我的功能测试中,我使用byebug来检查数据库连接

/myfeaturesteps.rb

Given(/^I have an application "(.*?)"$/) do |name|
byebug

>Rails.env
>'test'

>ActiveRecord::Base.connected?
>true

当我尝试触摸数据库时

>User.first
>ActiveRecord::StatementInvalid Exception: PG::ConnectionBad: PQsocket() can't get socket descriptor:

当我在测试环境中运行控制台时

rails console test

>Rails.env
>'test'

>User.first
User Load (1.2ms)  SELECT  "users".* FROM "users"  ORDER BY "users"."id" ASC LIMIT 1
=> nil 

同一个rails环境中的相同命令会产生不同的结果,黄瓜在哪里获得连接设置?

答案

我不知道为什么它不使用有效的连接来连接到您的数据库。这需要大量的调查。但是,您可以尝试一种解决方法。添加以下行以创建Before挂钩:

Before do
  ActiveRecord::Base.connection.verify!
end

我相信这将解决您的问题,直到您找出它的真正原因。

以上是关于无法从黄瓜测试连接到PostgreSQL的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Windows 上的 pgadmin 连接到 greenplum postgresql

无法连接到 Pentaho Kettle 中的 PostgreSQL 数据库

出于开发目的,无法从本地主机连接到 AWS RDS Postgresql

无法使用 sequelize 从本地节点应用程序连接到 heroku postgresql 数据库

无法从 EC2 连接到 PostgreSQL RDS 但从 localhost 可以正常工作

无法使用 express 连接到 postgreSQL 数据库