微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – psql:致命:角色“postgres”不存在(使用-h localhost选项)

我在本地机器上安装了Postgres.

当我执行

psql -U postgres -d buzzsumo

它正确地向用户postgres询问我的密码.

但是,当我跑

psql -U postgres -d buzzsumo -h localhost

它给了我这个错误信息:

psql: FATAL: role “postgres” does not exist

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

解决方法

你没有说,但我猜你在MacOS或Linux上运行postgres.

第一种形式(没有-h)通过“unix socket”连接.第二种形式,“-h localhost”通过TCP / IP连接到localhost(IP地址127.0.0.1).

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐