我向 posgresql ( amanda
) 添加了一个新用户,它与我的 linux 系统用户相同。在控制台,我可以psql
正常打开——我不需要密码,因为我已经通过amanda
. 但是当我尝试在没有密码的情况下设置 pgAdmin III 时,出现错误:
An error has occurred:
01:18:47 PM: Error: Error connecting to the server: fe_sendauth: no password supplied
如果我提供我的系统密码,我会收到密码错误:
An error has occurred:
01:15:30 PM: Error: Error connecting to the server: FATAL: password authentication failed for user "amanda"
FATAL: password authentication failed for user "amanda"
如何让 pgAdmin3 与 postgres 对话amanda
?
这都是@localhost。我读到这个:
但是那里的答案讨论了信任身份验证。我阅读手册的auth 方法部分表明我想要 pgAdmin3 使用 Ident Auth。
在 Unix 上,当 psql 在没有
-h
选项或PGHOST
变量集的情况下使用时,它使用 Unix 本地域套接字,这对应于local
inTYPE
列pg_hba.conf
,根本没有ADDR
列。这与放入
localhost
pgAdmin 连接对话框的主机字段不同。这对应host
于TYPE
列中和127.0.0.1
列中ADDR
或localhost
TCP 堆栈解析的任何内容(::1
例如,使用 IPv6)。通常,当 psql 和 pgAdmin 连接尝试未在
pg_hba.conf
. 如果这个问题是这种情况,请尝试将 pgAdmin 中的主机字段留空。最重要的是,Windows 没有 Unix 本地域套接字,因此
psql
Windows 默认开启localhost
,就好像-h localhost
使用过一样。