Rails无法登录postgresql – PG ::错误 – 密码 – 正确的信息

这就是我的database.yml文件的外观(显然还有相关的测试和生产条目)

development: adapter: postgresql encoding: unicode database: dbname_dev pool: 5 username: username password: tehpass 

在终端中,我可以成功运行以下命令并登录数据库:

 psql -U username dbname_dev 

但是在创建了这个新的rails项目并运行之后

 rails g controller ComingSoon index 

当我转到localhost:3000 / coming_soon时,我收到以下消息(尽管双重和三重检查登录凭据)

 fe_sendauth: no password supplied 

任何想法为什么我可以通过“psql”登录到这些数据库,但Rails不能?

database.yml的:

 connection: &connection adapter: postgresql encoding: unicode pool: 5 username: username password: tehpass development: <<: *connection database: dbname_development test: <<: *connection database: dbname_test production: <<: *connection database: dbname_production 

如果这对您不起作用,那么在安装过程中可能会出现问题。

访问此博客 ,希望这可能会帮助您。


编辑


错误案例:

 e_sendauth: no password supplied fe_sendauth: no password supplied 

这是在库存Ubuntu安装下发生的,并且是由于pg_hba.conf中的权限在默认情况下过于严格。 要允许rails连接,只需将pg_hba.conf的底部更改为如下所示。

 # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust 

如果这有帮助,请告诉我?