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

3

我能够连接到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不使用我配置中指定的角色,而是要使用我的个人登录信息?无论我使用什么角色,都会得到相同的错误。
注意:如果我将系统用户名作为角色添加,则可以解决问题,但我宁愿避免这样做。

这对我有用:https://dev59.com/VWUp5IYBdhLWcg3wY29V - Kevin Amiranoff
不是同一个问题。我已经有了postgres用户,并且可以在CLI中做我想做的任何事情。我认为这只是IntelliJ配置问题。 - user2668735
1个回答

1
添加LOGIN角色属性可以解决该问题:
ALTER ROLE sample LOGIN

文档说明如下:

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

然而,我可以在CLI中连接并做我想做的事情,就像我可以在IntelliJ中“连接”但没有这个属性时不能查询一样。欢迎了解更多关于这种行为的细节。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接