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

【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测试

在这里插入图片描述

相关文章:

  • c#爬取数据并解析json
  • PH热榜 | 2025-02-20
  • 美国第1代哈希散列算法SHA-1
  • 【自动化脚本工具】AutoHotkey (Windows)
  • 力扣的第34题 在排序数组中查找元素的第一个和最后一个位置
  • 深入理解 MySQL 8 C++ 源码:SELECT MOD(MONTH(NOW()), 2) 的函数执行过程
  • Cross-correlation 加速算法公式推导
  • 算法从0到100之【专题一】- 双指针第一练(数组划分、数组分块)
  • mysql云上安装慢问题解决
  • nasm - BasicWindow_64
  • 关于重启Pod后,CNI网络插件问题报错
  • AI 内容检测工具全解析,助力内容创作无忧
  • 蓝桥杯备考策略
  • Linux常用操作
  • java每日精进 2.20 MQ相关复健
  • 【量化策略】均值回归策略
  • 蓝桥杯 2.基础算法
  • gen_gauss_filter用于检测带方向的线条
  • 运维脚本——6.资源优化
  • 斐波那契数列模型:在动态规划的丝绸之路上追寻斐波那契的足迹(下)
  • 一张老照片里蕴含的上海文脉
  • 伊朗国防部发言人:发生爆炸的港口无进出口军用物资
  • 凝聚多方力量,中国农科院油菜产业专家团部署单产提升新任务
  • 同款瑞幸咖啡竟差了6元,开了会员仍比别人贵!客服回应
  • 当代视角全新演绎,《风雪夜归人》重归首都剧场
  • 夜读丨囿于厨房与爱