当前位置: 首页 > article >正文

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

在这里插入图片描述

文章目录

    • CMD-telnet测试
    • Datasource 形式测试
    • JDBC 形式测试
    • 问题解决

更多相关内容可查看

CMD-telnet测试

telnet 127.0.0.1 5432

在这里插入图片描述

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,所以导致链接不上

在这里插入图片描述
修改最大链接数

在这里插入图片描述
重启服务Win+R,输入services.msc

在这里插入图片描述
找到postgre服务,重新启动

在这里插入图片描述
navicat测试

在这里插入图片描述


http://www.kler.cn/a/561068.html

相关文章:

  • JS宏进阶:数据分析之线性回归
  • 【Jenkins】显示 HTML 标签
  • 什么是事务?并发事务引发的问题?什么是MVCC?
  • 如何使用Spring Boot实现商品的管理系统
  • 嵌入式Modbus协议面试题及参考答案
  • Shell脚本基础:用Bash自动化任务
  • 【行业解决方案篇五】【DeepSeek智慧城市:交通流量预测系统】
  • 软考——WWW与HTTP
  • akka现有的分布式定时任务框架总结
  • leetcode 1656. 设计有序流 简单
  • Nginx解决前端跨域问题
  • LD_PRELOAD 绕过 disable_function 学习
  • JavaWeb-在idea中配置Servlet项目
  • 为什么要将PDF转换为CSV?CSV是Excel吗?
  • HTML+JS+CSS 鼠标上下移动页面(非滚动条)
  • 异步联邦学习的动态隐私保护框架:重构边缘智能的数据安全边界
  • C#中开发OCR应用时,以下是一些推荐的开源库和工具
  • Android 老项目 jcenter 库失效
  • springBoot统一响应类型2.0版本
  • 力扣3102.最小化曼哈顿距离