如何在本地连接上允许postgres登录而无需密码提示?

时间:2017-10-13 19:35:47

标签: postgresql

如何配置PostgreSQL以允许默认的postgres用户在没有localhost密码的情况下登录?

有几个类似的问题,例如thisthis,但修改pg_hba.conf的建议都没有对我有用。但是,根据我对pg_hba.conf规则的理解,我应该可以使用peertrust选项来完成此操作。

我试图运行如下命令:

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 个答案:

答案 0 :(得分:3)

当您指定-h 127.0.0.1 a" local"连接 - 它是主机(=基于TCP)的连接。因此,以local开头的行与此类连接不匹配。

要使该条目有效,请psql指定主机名或端口,然后它将使用" local"通过命名管道连接。

或者,您可local使用host,然后将127.0.0.1作为(客户端)IP地址添加到" trust"。