You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL创建用户后psql登录报sudo未知用户错误如何解决

错误原因

你创建的anna是PostgreSQL服务内部的用户账号,和操作系统层面的系统用户是两套完全独立的账户体系。sudo -u anna命令调用的是操作系统的用户切换能力,你的系统中不存在名为anna的系统用户,因此触发了未知用户报错。

解决方案

根据使用场景可以选择两种解决方式:

  • 场景1:无需额外创建操作系统用户,仅需要用anna账号连接数据库
    直接运行指定数据库用户的连接命令即可:
psql -U anna -d mydb -h 127.0.0.1

执行后输入之前设置的密码anna即可完成登录。如果希望省略-h 127.0.0.1参数,可修改PostgreSQL的pg_hba.conf配置文件,将本地连接的认证规则调整为md5密码认证,重载配置后即可直接用psql -U anna -d mydb登录。

  • 场景2:需要使用sudo -u anna的方式免密登录数据库
    先创建同名操作系统用户,再执行登录操作即可:
# 创建操作系统用户anna
sudo useradd anna
# 执行psql登录
sudo -u anna psql mydb

这种方式走PostgreSQL的peer认证逻辑,操作系统用户名和数据库用户名一致时无需输入密码即可直接登录,适合给特定系统用户分配专属数据库权限的场景。

内容的提问来源于stack exchange,提问作者Edgar Navasardyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:57:04