首页 > 解决方案 > PostgreSql+Spring:尝试使用 SQL 文件初始化数据库但由于用户身份验证而失败

问题描述

我刚开始使用 PostgreSQL,我正在使用 pgadmin4。我试图在这里找到一些答案,但找不到类似的东西。我的 java application.properties 文件包含以下几行

jdbc.url = jdbc:postgresql://localhost:5432/paper
jdbc.username = paper
jdbc.password = paper

我用来创建数据库并向其中添加数据的 db-init.sql 文件包含以下几行

CREATE USER paper WITH PASSWORD paper;
CREATE DATABASE paper;
GRANT ALL PRIVILEGES ON DATABASE paper to paper;

我已经创建了安装 pgadmin 时必须创建的默认用户。所以这个sql文件应该再创建一个不?反正问题就是这个。当我启动码头服务器时,我一直遇到这个问题

org.postgresql.util.PSQLException: FATAL: password authentication failed for user "paper"

为什么我会收到此错误?我该如何解决?

LE添加了堆栈跟踪

2020-09-29 00:08:26 WARN  HikariConfig:851 - Paper pool - using dataSourceClassName and ignoring jdbcUrl.
2020-09-29 00:08:26 WARN  HikariConfig:876 - Paper pool - maxLifetime is less than 30000ms, setting to default 1800000ms.
2020-09-29 00:08:26 INFO  HikariDataSource:71 - Paper pool - Starting...
2020-09-29 00:08:29 ERROR HikariPool:542 - Paper pool - Exception during pool initialization.
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "paper"
    at org.postgresql.Driver$ConnectThread.getResult(Driver.java:409)
    at org.postgresql.Driver.connect(Driver.java:267)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java:98)
    at org.postgresql.ds.common.BaseDataSource.getConnection(BaseDataSource.java:83)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:356)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:199)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:444)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:515)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:112)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:72)
    at com.example.paper.util.DataSourceFactory.createDataSource(DataSourceFactory.java:66)
    at com.example.paper.SpringConfiguration.dataSource(SpringConfiguration.java:46)

标签: javaspringpostgresqlpgadmin

解决方案


推荐阅读