Ruby on rails Rails/PostgreSQL问题:PG::ConnectionBad:fe_sendauth:未提供密码

Ruby on rails Rails/PostgreSQL问题:PG::ConnectionBad:fe_sendauth:未提供密码,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我正在尝试为我的应用程序运行测试,但我不断收到这两个错误: PG::ConnectionBad:fe_sendauth:未提供密码 PG::ConnectionBad:致命:抱歉,已经有太多客户端了 我已经阅读了所有以前的答案,对于其他人来说,这似乎要么是缺少密码,要么是对pg_hba.conf文件的错误配置 这是my database.yml的外观: default: &default adapter: postgresql pool: <%= ENV.fetch(&qu

我正在尝试为我的应用程序运行测试,但我不断收到这两个错误:

PG::ConnectionBad:fe_sendauth:未提供密码

PG::ConnectionBad:致命:抱歉,已经有太多客户端了

我已经阅读了所有以前的答案,对于其他人来说,这似乎要么是缺少密码,要么是对pg_hba.conf文件的错误配置

这是my database.yml的外观:

default: &default
  adapter: postgresql
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000
  encoding: utf8
  reconnect: true
  host: localhost
  username: postgres
  password: <password>

development:
  <<: *default
  database: <dev-db>
  host: <dev-host>
  username: <dev-user>
  password: <dev-pass>

test:
  <<: *default
  database: <test-db>
default:&default
适配器:postgresql
游泳池:
超时:5000
编码:utf8
重新连接:正确
主机:本地主机
用户名:postgres
密码:
发展:

您的postgres用户是否设置了密码?通常情况下,默认的postgres用户没有密码,因此这是您需要特意做的事情;从错误消息判断,听起来您使用的是默认的posgres用户,并且没有特意在PostgreSQL CLI中设置密码

我建议将其拆分为非常基本的默认功能配置,如:

postgres: &postgres
  adapter: postgresql
  encoding: utf8
  pool: 5
development:
  <<: *postgres
  database: project_name_development
test:
  <<: *postgres
  database: project_name_test
postgres:&postgres
适配器:postgresql
编码:utf8
游泳池:5
发展:

是的。我确实试着按照你的建议剥离配置,它只是重复了这个模式,首先它说我给了它错误的密码,然后,设置了它,它再次说错误。因此,如果你从数据库中完全删除用户名和密码行,它说你有错误的密码。yml?是的。但问题不在于DB连接,我可以从任何其他来源(包括应用程序代码)完全访问DB。例如,如果我将测试设置为指向devel,我会得到相同的错误,即使我知道连接工作正常。