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

pgAdmin 4创建角色joe后,psql -U joe登录失败求助

解决PostgreSQL角色登录提示数据库不存在的问题

错误原因

PostgreSQL的psql命令有个默认行为:当你只指定用户名(-U joe)登录时,会自动尝试连接和用户名同名的数据库。你创建了joe角色,但没创建对应的joe数据库,所以触发了FATAL: database "joe" does not exist的错误。

解决方法

方法1:登录时指定已存在的数据库

直接在命令里加上要连接的现有数据库(比如默认的postgres数据库),执行:

psql -U joe -d postgres

输入正确密码后即可正常登录,进入postgres数据库的交互环境。

方法2:创建与角色同名的数据库

因为joe拥有createdb权限,先以postgres角色登录(直接执行psql即可),然后执行创建数据库的命令:

CREATE DATABASE joe;

创建完成后,再执行psql -U joe就能直接登录到joe数据库。

方法3:设置默认数据库的环境变量

在Windows终端临时设置默认连接的数据库,执行:

set PGDATABASE=postgres

之后再执行psql -U joe,会默认连接postgres数据库,无需每次手动指定-d参数。如果想永久生效,可以在系统环境变量中添加PGDATABASE=postgres。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:44:51