psql:致命:对用户" xxx"方法信任

时间:2015-09-03 14:54:17

标签: postgresql centos6

我已经通过以下方式创建了一个新角色和数据库(使用postgres用户):

CREATE ROLE xxx LOGIN
  PASSWORD 'CHOOSEAPASSWORD'
  NOSUPERUSER INHERIT NOCREATEDB CREATEROLE REPLICATION;

CREATE DATABASE xxx
  WITH OWNER = xxx
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       CONNECTION LIMIT = -1;

\connect xxx
GRANT ALL ON DATABASE xxx TO xxx;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO xxx;

在pg_hba.conf中,我有以下条目:

local   all             postgres                                trust
local   all             all                                     peer
# IPv4 local connections:
host    all             xxx             127.0.0.1/32            trust
host    all             all             127.0.0.1/32            ident

尽管如此,我无法与

联系
psql -U xxx -h localhost -W

并获得错误

psql: FATAL:  Ident authentication failed for user "xxx"

我可能有任何错误的想法? (我使用PostgreSQL 9.4和CentOS 6.7)

2 个答案:

答案 0 :(得分:1)

您尚未为IPv6的本地主机地址::1定义规则。主机的解析程序更喜欢IPv6地址::1到IPv4地址127.0.0.1。因此,trust的IPv4规则永远不会匹配。

::1

添加其他规则

另一个常见问题,虽然已经排除在外,但没有重新加载配置。

答案 1 :(得分:0)

尝试使用 127.0.0.1 而不是 localhost