在/var/lib/pgsql/9.1/data/pg_hba.conf
中,我有以下内容:
# TYPE DATABASE USER ADDRESS METHOD
host all all 127.0.0.1/32 trust
但是当我执行
su -c "psql -d postgres" - postgres
它要求我输入密码。我的期望是不应提示用户输入密码。
那里还有其他用于本地和 IPv6 连接的设置,但不是
trust
。我把它们都做了trust
,现在可以用了。所以看起来 psql 没有通过 IPv4 连接。pg_hba.conf 文件中带有 trust 字段的记录的地址需要是 ::1/128,大概是因为在您本地计算机上运行的 PostgreSQL 服务器正在使用该范围内的地址。