1

我使用 PostgreSQL 9.2 并有命令:

psql -h localhost -U testdb -d postgis

此命令具有无需密码即可连接数据库的能力。我想输入密码。

pg_hba.cconf的是:

local   all             all                                     password
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
4

1 回答 1

1

无密码访问需要相应地配置几种身份验证方法之一。这些相关答案中的更多详细信息:
pgadmin 给我错误:未提供密码
Run batch file with psql command without password

特别是在第二个文件中localhost不是“本地连接” 。pg_hba.conf由于您使用 连接-h localhost,因此只有文件中以开头的行host适用pg_hba.conf,因此需要密码。

其余说明:

  • reload自从更改了配置文件以来,您没有这样做。

  • 您没有显示正确(或完整)pg_hba.conf(或无意中连接到错误的数据库集群。端口 5432?),实际上有一行peerident验证在其他host行之前。

  • 您的安装有一个.pgpass文件,该文件授予您运行命令的系统用户的访问权限。有关详细信息,请参阅第二个链接答案

最后一个似乎最有可能。

于 2013-10-27T18:36:38.243 回答