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

在WSL/Linux终端无法创建PostgreSQL 14超级用户

问题分析与解决

核心问题

你执行sudo -u postgres createuser --interactive时,错误提示连接数据库的角色是my-user——但此时本该以postgres系统用户对应的PostgreSQL超级用户身份去连接创建新角色,出现这个错误是因为sudo执行时没正确切换环境,导致createuser误以当前Linux用户my-user的身份连接PostgreSQL,而该角色还没创建,所以触发报错。

解决步骤

  • 强制清空环境变量执行命令:sudo默认会保留部分当前用户的环境变量,容易导致身份混淆。用这条命令完全模拟postgres用户的登录环境运行createuser:

    sudo -i -u postgres createuser --interactive
    

    之后按提示输入my-user并确认超级用户权限即可。

  • 手动指定连接角色:如果上面的命令还有问题,直接显式指定用PostgreSQL默认超级用户postgres连接:

    sudo -u postgres createuser -U postgres --interactive my-user
    
  • 直接用SQL命令创建:要是createuser工具还是出问题,跳过它直接用psql执行SQL创建:

    sudo -u postgres psql -c "CREATE ROLE \"my-user\" WITH SUPERUSER LOGIN;"
    

验证

创建完后,用这条命令检查角色是否存在:

sudo -u postgres psql -c "\du"

输出里能看到my-user,且标注了超级用户权限就说明成功了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:15:06