PostgreSQL + IntelliJ:致命:角色 xxx 不存在

Posted

技术标签:

【中文标题】PostgreSQL + IntelliJ:致命:角色 xxx 不存在【英文标题】:PostgreSQL + IntelliJ : FATAL : role xxx doesn't exist 【发布时间】:2017-05-25 14:35:13 【问题描述】:

我能够连接 psql 并做我想做的事,而不是在 IntelliJ 中。

PostgreSQL version : postgres (PostgreSQL) 9.6.1
IntelliJ version : 2016.3.1

IntelliJ 配置:

URL : jdbc:postgresql://localhost:5432/sample
User : sample
Pwd : sample

测试连接:成功

所以,我连接(出现红色方块),然后尝试一个简单的查询:

select 1;

我得到了错误:

FATAL : role 'xxx' doesn't exist`

为什么 IntelliJ 不使用我的配置中指定的角色并想使用我的个人登录?无论我使用什么角色,仍然得到同样的错误。

注意:如果我将我的系统用户名添加为角色,它会起作用,但我希望避免这种情况。

【问题讨论】:

为我做到了:***.com/questions/15301826/… 否 这不是同一种情况。我已经有了 postgres 用户,我可以在 CLI 中做我想做的事。我认为这只是一个 IntelliJ 配置问题。 【参考方案1】:

添加LOGIN角色属性修复问题:

ALTER ROLE sample LOGIN

文档说明:

只有具有 LOGIN 属性的角色才能用作初始角色 数据库连接的角色名称

但是,我可以在 CLI 中连接并做我想做的事,因为我可以在 IntelliJ 中“连接”但不能进行查询,如果没有此属性。欢迎提供有关此行为的更多详细信息。

【讨论】:

以上是关于PostgreSQL + IntelliJ:致命:角色 xxx 不存在的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL - 致命:用户的身份验证失败

Android Studio 启动失败:初始化“com.intellij.util.net.ssl.certificatemanager”时出现致命错误

postgresql:致命:用户“道格拉斯”的密码验证失败

“致命:数据库系统正在关闭”,同时创建与 PostgreSQL 的连接

无法连接到 PostgreSQL 服务器:致命:角色“apache”不存在

在 docker 中运行时出现异常:org.postgresql.util.PSQLException:致命:用户“hamzabelmellouki”的密码验证失败