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

Windows10安装Postgres后运行psql要求输入未创建的非超级用户密码怎么办

PostgreSQL Windows端默认登录用户及密码修改解决方案

问题根因

PostgreSQL的psql客户端默认会尝试使用当前Windows系统的用户名作为登录数据库的角色名,你安装时没有创建和系统用户名同名的数据库角色,因此会出现要求输入未知密码、修改密码时报role [username] does not exist的问题。

设置psql默认使用postgres超级用户登录

不需要每次输入psql -U postgres的配置方法如下:

  • 打开Windows系统环境变量配置页面:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在「用户变量」或「系统变量」区域点击「新建」,填写:
    • 变量名:PGUSER
    • 变量值:postgres
  • 保存配置后重启所有正在运行的命令行终端,后续直接运行psql就会默认使用postgres超级用户登录,提示输入postgres用户的密码即可。

非超级用户密码设置/修改方法

首先确认角色存在

使用超级用户登录PostgreSQL:

psql -U postgres

输入安装时设置的postgres超级用户密码进入交互终端后,执行\du命令查看所有已存在的数据库角色,确认你要修改密码的角色名称是否正确(PostgreSQL默认会将未加双引号的标识符转为小写,如ALTER ROLE LiMing会默认查找liming角色,名称不匹配就会报错)。

新建角色(如果目标角色不存在)

如果需要创建和Windows系统用户名同名的角色,执行以下语句:

CREATE ROLE 你的Windows系统用户名 WITH LOGIN PASSWORD '你要设置的密码' CREATEDB;

其中CREATEDB是给该角色授予建库权限,你可以根据实际需求调整权限配置。

修改已有角色密码

确认角色名称正确后,执行以下语句修改密码即可:

ALTER ROLE 目标角色名 WITH PASSWORD '新密码';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:24:03