(Spring 中的 FlywaySqlException)用户密码验证失败

Adr*_*nga 6 postgresql spring jpa flyway

我尝试将我的 Spring-Boot-Application 与新的PostgreSQL USER(名为:localX_deletion)连接,但是当我运行它时,它返回我FlywaySqlException

org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名为“flywayInitializer”的bean时出错[org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]:调用init方法失败;嵌套异常是 org.flywaydb.core.internal.exception.FlywaySqlException:无法从数据库获取连接:致命:用户“localX_deletion”的密码身份验证失败

SQL 状态:28P01 错误代码:0 消息:致命:用户“localX_deletion”的密码身份验证失败

我不明白,因为我可以在命令行中与该用户连接:psql -U localX_deletion -h localhost当我在spring.datasource中指定另一个帐户时,应用程序将按例外运行。

我如何创建数据库/角色:

  1. CREATE USER localx_deletion;
  2. CREATE DATABASE localx_deletion OWNER localx_deletion;
  3. ALTER USER localx_deletion WITH ENCRYPTED PASSWORD 'localx_deletion';
  4. ALTER DATABASE localx_deletion OWNER TO localx_deletion;
  5. GRANT ALL PRIVILEGES ON DATABASE localx_deletion TO localx_deletion;

我已经尝试修复它:

对于下面的每个任务,我都重新启动了 postgresql 服务。

  1. 更新密码/名称角色
  2. 全部删除并重新创建。
  3. 在 pg_hba.conf本地主机中设置为信任(可以工作,但我不喜欢更新此文件,因为旧配置可以与其他角色/数据库配合使用)。
  4. 清除、删除并重新安装 Postgresql

有人有解决办法吗?


\du - 角色列表

       Role name        |                         Attributes                         | Member of 
------------------------+------------------------------------------------------------+-----------
 localx                 | Create DB                                                  | {}
 localx_standalone      | Create DB                                                  | {}
 localx_standalone_test | Create DB                                                  | {}
 localx_deletion        | Create DB                                                  | {}
 localx_test            | Create DB                                                  | {}
 postgr
Run Code Online (Sandbox Code Playgroud)

\l - 数据库列表

          Name          |         Owner          | Encoding |   Collate   |    Ctype    |         Access privileges         
------------------------+------------------------+----------+-------------+-------------+-----------------------------------
 localx                 | postgres               | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =Tc/postgres                     +
                        |                        |          |             |             | postgres=CTc/postgres            +
                        |                        |          |             |             | localx=CTc/postgres
 localx_standalone      | localx_standalone      | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 localx_standalone_test | localx_standalone_test | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 localx_deletion        | localx_deletion        | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =Tc/localx_deletion               +
                        |                        |          |             |             | localx_deletion=CTc/localx_deletion
 localx_test            | localx_test            | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 postgres               | postgres               | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | 
 template0              | postgres               | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres                      +
                        |                        |          |             |             | postgres=CTc/postgres
 template1              | postgres               | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres                      +
                        |                        |          |             |             | postgres=CTc/postgres
Run Code Online (Sandbox Code Playgroud)

pg_hba.conf

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5
Run Code Online (Sandbox Code Playgroud)

操作系统:Ubuntu 20.04.1 LTS(Focal Fossa),Postgresql:12