千千梦丶琪 发表于 3 天前

【Bug经验分享】Postgresql 项目链接不上,JDBC及Datasource可以连接,Navi

https://i-blog.csdnimg.cn/direct/9035da5fa97e46c49cdc1991783f9164.png#pic_center


更多相关内容可检察
CMD-telnet测试

telnet 127.0.0.1 5432
https://i-blog.csdnimg.cn/direct/6e2c6be5f94c4557a6540885ca147ace.png#pic_center
Datasource 形式测试

package cfca.hke.bankcomm.test;

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

public class DatabaseConnectionTest {

    public static void main(String[] args) {
      // 配置 HikariCP 连接池
      HikariConfig config = new HikariConfig();
      config.setJdbcUrl("jdbc:postgresql://127.0.0.1:5432/scdb");
      config.setUsername("postgres");
      config.setPassword("123456");

      // 设置其他可选配置
      config.setMaximumPoolSize(10);
      config.setMinimumIdle(2);
      config.setIdleTimeout(30000);
      config.setMaxLifetime(1800000);

      // 创建 DataSource
      DataSource dataSource = new HikariDataSource(config);

      // 测试连接
      try (Connection connection = dataSource.getConnection()) {
            if (connection != null) {
                System.out.println("数据库连接成功!");
            }
      } catch (SQLException e) {
            System.err.println("数据库连接失败: " + e.getMessage());
      }
    }
}
JDBC 形式测试

package cfca.hke.bankcomm.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class PostgreSQLConnectionTest {

    // JDBC 连接信息
    private static final String JDBC_URL = "jdbc:postgresql://127.0.0.1:5432/scdb";
    private static final String JDBC_USERNAME = "postgres";
    private static final String JDBC_PASSWORD = "123456";

    public static void main(String[] args) {
      Connection connection = null;
      try {
            // 1. 加载 JDBC 驱动
            Class.forName("org.postgresql.Driver");

            // 2. 建立数据库连接
            connection = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD);
            System.out.println("数据库连接成功!");

            // 3. 执行一个简单的查询
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("SELECT 1");

            // 4. 处理查询结果
            if (resultSet.next()) {
                System.out.println("测试查询结果: " + resultSet.getInt(1));
            }

      } catch (Exception e) {
            System.err.println("数据库连接失败!");
            e.printStackTrace();
      } finally {
            // 5. 关闭连接
            if (connection != null) {
                try {
                  connection.close();
                  System.out.println("数据库连接已关闭。");
                } catch (Exception e) {
                  e.printStackTrace();
                }
            }
      }
    }
}
问题解决

l利用上述方式都发现无法解决,检察conf文件的最大连接数,我的项目中给了200,默认是100,以是导致链接不上
https://i-blog.csdnimg.cn/direct/f57fd68dcf8547e2afbedf5234175315.png#pic_center
修改最大链接数
https://i-blog.csdnimg.cn/direct/9e9e5768e7d94f77a4015c08f0179395.png#pic_center
重启服务Win+R,输入services.msc
https://i-blog.csdnimg.cn/direct/b3369143a21c498ea7d7c56bd78d692b.png#pic_center
找到postgre服务,重新启动
https://i-blog.csdnimg.cn/direct/e6a9ad1ffa5743c993d798eb443d7e8f.png#pic_center
navicat测试
https://i-blog.csdnimg.cn/direct/98cdd446a044412a8e054f5f749e365e.png#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Bug经验分享】Postgresql 项目链接不上,JDBC及Datasource可以连接,Navi