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