postgresql 使用postgres角色运行psql命令

s4n0splo  于 2023-02-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(171)

我正在尝试使用postgres角色运行psql命令。
(1)sudo psql -U postgres由于postgres与我的操作系统用户名不同,因此在运行它时收到Peer authentication failed for user“postgres”错误。
(2)但是当我运行sudo -u postgres psql时,它成功了
My terminal image
我不确定(2)命令是如何工作的,因为根据Postgres文档,对等认证在本地自动发生,并且我当前的操作系统用户名与
postgres
不同(我没有对pg_hba.config或pg_ident.config文件进行任何更改)。
命令(1)和(2)之间有什么区别?

zte4gxcn

zte4gxcn1#

在第一次尝试中,您使用sudo成为root用户(因为没有-u选项),并尝试以数据库用户postgres的身份进行连接,但由于rootpostgres不同,因此peer身份验证失败。
在第二次尝试中,您使用sudo成为用户postgres,并在未指定用户名的情况下调用psql,因此用户名默认为当前操作系统用户名,即postgres

相关问题