springboot 项目连接 postgreps,启动时报错 org.postgresql.util.PSQLException: 错误: 关系 "dual" 不存在。
查阅资料后发现这是由配置文件中的配置 datasource-dynamic-druid-validationQuery 导致的
spring:
datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
dynamic:
druid:
initial-size: 5
min-idle: 5
maxActive: 20
maxWait: 60000
connectTimeout: 30000
socketTimeout: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 1 from dual
每次启动项目时,Druid 数据库连接池会执行 validationQuery 属性值中的 sql 语句来测试连接是否可用,这个查询语句必须是至少返回一条数据的SELECT语句。每种数据库都有各自的验证语句。
然而 postgreps 没有 dual 表,因此项目启动连接数据库时会报错,修改一下validationQuery 属性值即可,改为:select version()。
几种常见数据库的validationQuery:
参考链接:
针对不同数据库的validationQuery_validationquery oracle如何配置properties-CSDN博客