diff --git a/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java b/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java index 73f00c7577..881ba8b618 100644 --- a/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java +++ b/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java @@ -15,17 +15,17 @@ */ package com.alibaba.druid.pool.vendor; -import java.io.Serializable; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.Statement; - import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.pool.ValidConnectionChecker; import com.alibaba.druid.pool.ValidConnectionCheckerAdapter; import com.alibaba.druid.proxy.jdbc.ConnectionProxy; import com.alibaba.druid.util.JdbcUtils; +import java.io.Serializable; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; + public class PGValidConnectionChecker extends ValidConnectionCheckerAdapter implements ValidConnectionChecker, Serializable { private static final long serialVersionUID = -2227528634302168877L; @@ -61,7 +61,10 @@ public class PGValidConnectionChecker extends ValidConnectionCheckerAdapter impl ResultSet rs = null; try { stmt = conn.createStatement(); - stmt.setQueryTimeout(queryTimeout); + if(queryTimeout>=0){ + //pgsql Driver 9.0以及以下版本不支持setQueryTimeout,可通过设置queryTimeout<0兼容低版本 + stmt.setQueryTimeout(queryTimeout); + } rs = stmt.executeQuery(validateQuery); return true; } finally {