如何允许在本地连接时无需密码提示即可登录Postgres?

14
如何配置PostgreSQL,以允许默认的postgres用户从本地登录时无需密码?有一些类似的问题,比如这个这个,但是我尝试修改pg_hba.conf的建议都没有奏效。基于对pg_hba.conf规则的理解,我应该能够通过
peer
trust
选项来实现这一目标。我正在尝试运行以下命令:
sudo psql --user=postgres --no-password --command="blah;" -h 127.0.0.1

如果我在我的pg_hba.conf文件中尝试这条线:

local   all             postgres                                trust

我的命令执行失败,并出现以下错误:

psql: FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "postgres", database "postgres", SSL on
FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "postgres", database "postgres", SSL off

如果我尝试这条线:

local   all             postgres                                peer

我的命令遇到了同样的错误。

我该如何修复这个问题?

1个回答

15

当您指定 -h 127.0.0.1 时,这不是“本地”连接 - 而是主机(=基于TCP)连接。因此,以 local 开头的行将不匹配此类连接。

要使该条目起作用,请不要psql 指定主机名或端口,然后它将通过命名管道使用“本地”连接。

或者,您可以将 localhost 一起使用,然后将 127.0.0.1 添加为要“信任”的(客户端)IP地址。


1
抱歉我是Postgres的新手,请分享完整的psql命令。 - Ashish Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接