【发布时间】:2015-11-27 11:56:27
【问题描述】:
我可以通过命令行进行连接,但在 pgadmin3 中收到通常的错误消息。
Error connecting to the server: FATAL: password authentication failed for user "postgres"
(和 phppgadmin 中的 login failed)
我知道有几个关于此的 q/a,但没有一个是解决命令行成功/pgadmin3 失败的问题。
我已做出建议的更改,例如:
在postgresql.conf中添加listen_addresses = '*'
同时修改pg_hba.conf的尾随行如下(从对等切换到md5):
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 md5
# host replication postgres ::1/128 md5
而且,以下方式的连接失败:
psql -h localhost -U postgres -d postgres
(密码错误)
但是,这样的连接成功:
sudo -u postgres psql
Password: ****
【问题讨论】:
-
将
md5更改为trust -
密码验证失败意味着您输入了错误的密码。你可以按照@wingedpanther的建议改成
trust,这样就可以不用密码登录了。 -
我进行了几次尝试,在尝试命令行并在 pgdamin3 中失败时都成功了(因此错误通过的机会非常小)。
-
更改为
trust也不起作用...传递相同的 psswd 时出现相同的错误,使用 no passwd 时出现no passwd supplied错误 -
pg_hba.conf中的行只允许来自本地主机的连接,尝试类似0.0.0.0/0用于 ipv4,::0/0用于 ipv6
标签: postgresql postgresql-9.3 pgadmin phppgadmin