【发布时间】:2020-03-24 03:29:18
【问题描述】:
我有一个 Spring Boot 项目,我正在尝试连接到本地 PostgreSQL 数据库。正在从 DataSourceBuilder 实例化数据源。出于本示例的目的,我将数据库用户名、密码和数据库 URL 硬编码(它们将通过属性文件传入),这就是实现的样子:
String url = "jdbc:postgresql://localhost:5433/<TABLENAME>";
String username = <USERNAME>;
String password = <PASSWORD>;
return DataSourceBuilder
.create()
.driverClassName("org.postgresql.Driver")
.url(url)
.username(username)
.password(password)
.build();
当我运行 Spring Application main 方法时,抛出以下异常:
Caused by: org.postgresql.util.PSQLException:
The server requested password-based authentication, but no password was provided.
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:534)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:141)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
我尝试使用sudo passwd postgres 更改postgres 用户密码几次,但这似乎不起作用。有什么想法吗?
【问题讨论】:
-
你为什么不在你的属性中配置这些值并让自动配置为你做这些?
标签: java spring postgresql