Ruby on rails Rails/PostgreSQL问题:PG::ConnectionBad:fe_sendauth:未提供密码
我正在尝试为我的应用程序运行测试,但我不断收到这两个错误: PG::ConnectionBad:fe_sendauth:未提供密码 PG::ConnectionBad:致命:抱歉,已经有太多客户端了 我已经阅读了所有以前的答案,对于其他人来说,这似乎要么是缺少密码,要么是对pg_hba.conf文件的错误配置 这是my database.yml的外观: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
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,我会得到相同的错误,即使我知道连接工作正常。