springboot druid postgresql 链接异常org.postgresql.util.PSQLException: 尝试连线已失败
在使用Spring Boot项目中基于druid来配置postgresql的连接池,会出现一个问题,有时候能正常连接数据库,有时候会抛出如下异常:
init datasource error, url: jdbc:postgresql://192.127.0.1:5432/iecs org.postgresql.util.PSQLException: 尝试连线已失败。 at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:297) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211) at org.postgresql.Driver.makeConnection(Driver.java:459) at org.postgresql.Driver.connect(Driver.java:261) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156) at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:786) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218) at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150)
特别是多个项目同时启动时,这种情况出现的概率特别大。排查了很久发现是连接池配置过大导致postgresql的连接数不够用。
针对此问题有两种解决方案:第一,如果是测试环境则将连接池数据减小即可;第二:如果是生产环境或业务所需则修改postgresql的连接池大小。
关于如何查看及修改postgresql的连接数,可参考文章《POSTGRESQL查看及设置连接数》
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2020/06/30/springboot-druid-postgresql-psqlexception/