我的pg_hba.conf
文件中有以下几行:
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
host all all localhost trust
我重新启动了Postgres。当我在命令行连接时,一切都按预期工作:
$ psql -U me -W
Password for user me: # I can type any password and it will work
psql (9.5.7)
Type "help" for help.
me=#
但是,当我通过软件库(节点库pg
,通过库knex
)连接时,我收到错误:
password authentication failed for user "me"
我并不是专门寻找修复方法,我只想了解这是怎么回事。如果我只是告诉Postgres信任任何人,我怎么还会收到有关身份验证失败的错误?我的pg_hba.conf
条目有问题,或者Postgres在某些情况下只是选择忽略它们,或者.......
修改
如果它帮助我的程序用于连接的数据库连接URL是:postgres://localhost:5432/mydb
。
答案 0 :(得分:2)
当您执行psql -U me -h localhost
时,psql无法连接,因为它不知道要连接到哪个数据库。
解决方案是psql -U me -h localhost -d database_name
希望这有帮助。