Postgresql psql:致命:角色“;博士后;不存在(使用-h localhost选项)

Postgresql psql:致命:角色“;博士后;不存在(使用-h localhost选项),postgresql,database-connection,Postgresql,Database Connection,我在本地机器上安装了Postgres 当我执行 psql -U postgres -d buzzsumo 它正确地向用户postgres请求我的密码 然而,当我跑的时候 psql -U postgres -d buzzsumo -h localhost 它向我提供了以下错误消息: psql:致命:角色“postgres”不存在 在第一个示例中,我连接到本地服务器,这相当于传入localhost,为什么会出现这种情况?第一个示例通过Unix套接字连接,第二个示例通过TCP/IP本地环路(loc

我在本地机器上安装了Postgres

当我执行

psql -U postgres -d buzzsumo
它正确地向用户postgres请求我的密码

然而,当我跑的时候

psql -U postgres -d buzzsumo -h localhost
它向我提供了以下错误消息:

psql:致命:角色“postgres”不存在


在第一个示例中,我连接到本地服务器,这相当于传入localhost,为什么会出现这种情况?

第一个示例通过Unix套接字连接,第二个示例通过TCP/IP本地环路(localhost)连接


对于第一个示例,您需要连接类型
local
in,因为以
host
开头的第二行是相关的。您可能已经为这些连接类定义了不同的连接。

您没有说,但我猜您正在MacOS或Linux上运行postgres

第一个表单(不带-h)通过“unix套接字”连接。第二种形式是“-h localhost”,通过TCP/IP连接到localhost(IP地址127.0.0.1)

Postgres以不同的方式对待这两种类型的连接——或者至少,它可以这样做。如果您检查“pgsql/data/pg_hba.conf”文件,查看为这两种类型的连接配置了哪些身份验证机制