3-异常-出现 PSQLException: Connection refused的8种可能

3-异常-出现 PSQLException: Connection refused的8种可能

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅

报错信息如下:

[09:19:59:553] [ERROR] - com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2787) - create connection SQLException, url: jdbc:postgresql://127.0.0.1:5432/databaseName?useUnicode=true&useSSL=false&characterEncoding=utf8&useAffectedRows=true&allowMultiQueries=true&serverTimezone=GMT%2B8&useTimezone=true, errorCode 0, state 08001
org.postgresql.util.PSQLException: Connection to 127.0.0.1:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:303) ~[postgresql-42.2.18.jar:42.2.18]at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51) ~[postgresql-42.2.18.jar:42.2.18]at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:225) ~[postgresql-42.2.18.jar:42.2.18]at org.postgresql.Driver.makeConnection(Driver.java:465) ~[postgresql-42.2.18.jar:42.2.18]at org.postgresql.Driver.connect(Driver.java:264) ~[postgresql-42.2.18.jar:42.2.18]at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156) ~[druid-1.2.2.jar:1.2.2]at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:227) ~[druid-1.2.2.jar:1.2.2]at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) ~[druid-1.2.2.jar:1.2.2]at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1654) ~[druid-1.2.2.jar:1.2.2]at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1718) ~[druid-1.2.2.jar:1.2.2]at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2785) [druid-1.2.2.jar:1.2.2]
Caused by: java.net.ConnectException: Connection refused (Connection refused)at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_333]at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[?:1.8.0_333]at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[?:1.8.0_333]at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[?:1.8.0_333]at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[?:1.8.0_333]at java.net.Socket.connect(Socket.java:606) ~[?:1.8.0_333]at org.postgresql.core.PGStream.createSocket(PGStream.java:231) ~[postgresql-42.2.18.jar:42.2.18]at org.postgresql.core.PGStream.<init>(PGStream.java:95) ~[postgresql-42.2.18.jar:42.2.18]at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:98) ~[postgresql-42.2.18.jar:42.2.18]at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213) ~[postgresql-42.2.18.jar:42.2.18]... 10 more

错误消息表明应用程序无法建立与位于 127.0.0.1:5432 的 PostgreSQL 数据库的连接。根本原因是连接被拒绝。以下是一些可能的原因及对应的解决方案:

  1. 数据库服务器未运行

    • 确保 PostgreSQL 服务器在主机 127.0.0.1 上运行。
    • 使用类似 systemctl status postgresql 的命令在服务器上检查 PostgreSQL 服务的状态。
  2. 端口未监听

    • 确认 PostgreSQL 配置为监听端口 5432
    • 检查 postgresql.conf 文件(通常位于 PostgreSQL 数据目录中)的 port 配置,确保其设置为 5432
  3. 网络问题

    • 验证您的应用服务器与数据库服务器之间的网络连接。使用 pingtelnet 等工具检查连接。
    • 例如:telnet 127.0.0.1 5432(如果可用)。
  4. 防火墙设置

    • 检查数据库服务器上的防火墙设置,确保端口 5432 已打开。
    • 使用 iptablesfirewalld 等命令(取决于Linux发行版)检查和更新防火墙规则。
  5. PostgreSQL 配置

    • 确保 PostgreSQL 配置为接受 TCP/IP 连接。在 postgresql.conf 文件中,确保 listen_addresses 参数包含服务器的 IP 地址或设置为 '*' 以接受任何 IP 地址的连接。
    • 例如:listen_addresses = '*'
  6. 客户端认证配置

    • 检查 pg_hba.conf 文件(位于 PostgreSQL 数据目录中),确保允许客户端 IP 地址或网络连接到数据库。

    • pg_hba.conf中添加适当的条目以允许客户端 IP:

      host    all             all             19.25.34.0/24            md5
      
  7. 数据库凭证

    • 确保 JDBC URL 中使用的用户名和密码正确,并且用户具有连接到数据库的必要权限。

除此以外还有一个可能也是我这边遇见的问题,那就是数据库的磁盘满了。如下,通过linux命令查看数据库存储所用的,当数据库磁盘满了

[root@0004 data]# df -hT
Filesystem                 Type      Size  Used Avail Use% Mounted on
/dev/vdb1                  xfs       2.0T  2.0T  7.0G 100% /data

数据库服务器的磁盘空间用尽时,PostgreSQL 可能无法正常运行或无法处理新的连接请求。这是因为数据库需要磁盘空间来执行各种操作,如写入日志、处理查询和事务等。如果磁盘空间不足,PostgreSQL 可能会拒绝新的连接或无法执行正常操作。

解决方案

  1. 检查磁盘使用情况
    • 在数据库服务器上使用命令检查磁盘使用情况,例如:df -h
    • 查找 PostgreSQL 数据目录所在的磁盘分区,查看是否已满。
  2. 清理磁盘空间
    • 删除不再需要的文件或日志,以释放磁盘空间。例如,删除旧的备份文件或归档日志:
    • 考虑启用日志轮换(log rotation)来自动管理日志文件。
  3. 扩展磁盘分区
    • 如果可能,可以增加磁盘分区的大小或添加额外的存储空间。例如,在虚拟化环境中,可以分配更多的磁盘空间并扩展分区。
  4. 调整数据库配置
    • 配置 PostgreSQL 以使用较少的磁盘空间。例如,通过调整 log_rotation_sizelog_rotation_age 参数来控制日志文件的大小和轮换频率。
  5. 定期维护
    • 定期监控和维护数据库服务器的磁盘使用情况,确保始终有足够的可用空间。
  6. 重启数据库服务:(慎用!!!慎用!!!慎用!!!)(一般情况没必要重启数据库服务,只需要临时将无用的数据或者备份表先删除即可,后序进行对应的扩容。
    • 在清理或扩展磁盘空间后,重启 PostgreSQL 服务以恢复正常操作:systemctl restart postgresql

检查是否由于磁盘满引起的连接问题

要确认问题是否由于磁盘满引起,您可以查看 PostgreSQL 的日志文件。日志文件通常位于数据目录中的 pg_log 目录下,或者在配置文件中指定的路径。查找是否有与磁盘空间相关的错误消息。

找到对应的数据库服务的日志,PostgreSQL的数据库服务日志名称一般为postgresql.log 或者 postgresql-.log

例如:postgresql-Thu.log,可以从日志信息中确定数据库磁盘确实满了

2024-06-13 06:54:27.264 CST [1443605] ERROR:  could not extend file "base/16385/799264.1": No space left on device

在这里插入图片描述

上图是由 Pic 生成的

关键词:A hesitant Tom sat by the beach smoking cigarettes and drinking, watching the sunset

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/26863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

问题(05)elementui 输入框里面禁止浏览器自动填充用户名密码、弹出浏览器历史密码提示框

问题描述 el-input&#xff0c;非密码框&#xff0c;在输入时&#xff0c; 问题1&#xff1a; 浏览器自动填充用户名密码。问题2&#xff1a;右边显示浏览器历史密码提示框。 问题解决 问题1&#xff1a;使用auto-complete"new-password" <input type"te…

Rust基础学习-ModulesPackage

在Rust中&#xff0c;模块有助于将程序分割成逻辑单元&#xff0c;以提高可读性和组织性。一旦程序变得更大&#xff0c;将其拆分为多个文件或命名空间非常重要。 模块有助于构建我们的程序。模块是项目的集合&#xff1a;包括函数、结构体甚至其他模块。 Module 定义模块 在…

cleanmymacX和腾讯柠檬到底哪个好用 2024最新使用测评

CleanMyMac X和腾讯柠檬都是Mac系统清理软件&#xff0c;各有其特点和优势&#xff0c;选择哪个更好用取决于用户的具体需求和使用习惯。 经常有新关注的粉丝问&#xff0c;同样做为垃圾清理软件&#xff0c;付费CleanMyMac和免费的柠檬清理哪个更好用&#xff1f;其实&#xf…

大数据集成平台建设方案(Word方案)

基础支撑平台主要承担系统总体架构与各个应用子系统的交互&#xff0c;第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上&#xff0c;实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台&#xff0c;提出了以下要求&#xff1a; 基于平台的基础架构&…

为什么选择 ABBYY FineReader PDF ?

帮助用户们对PDF文件进行快速的编辑处理&#xff0c;同时也可以快速识别PDF文件里的文字内容&#xff0c;并且可以让用户们进行文本编辑&#xff0c;所以可以有效提升办公效率。 ABBYY-ABBYY Finereader 15 Win-安装包&#xff1a;https://souurl.cn/OY2L3m 高级转换功能 ABBY…

【Python】Python 2 测试网络连通性脚本

文章目录 前言1. 命令行传参2. 代码 前言 最近在只有python2的服务器上部署服务&#xff0c;不能用三方类库&#xff0c;这里出于好奇心学习下python。这里简单做个脚本&#xff0c;实现了检验网络连通性的功能&#xff08;类似于curl&#xff09;。 1. 命令行传参 使用命令…

成功塑造领军人物形象,对企业带来哪些好处?

在企业的完整形象中&#xff0c;产品、品牌、高管是最重要的组成部分。小马识途建议中小企业在成长过程中及早对高管形象进行包装&#xff0c;成功塑造企业的领军人物&#xff0c;不单单是企业高管个人的形象提升&#xff0c;对企业经营发展带来诸多益处。小马识途营销顾问简单…

跨行业数据资产整合与应用:探讨如何打破数据孤岛,实现跨行业数据资产的共享与协同应用

目录 一、引言 二、跨行业数据资产整合的必要性 1、数据价值的最大化 2、促进产业创新 3、提升政府治理能力 三、跨行业数据资产整合的挑战 1、技术挑战 2、制度挑战 3、利益挑战 四、打破数据孤岛的策略与方法 1、建立统一的数据标准与规范 2、构建跨行业数据共享…

“全光无线星空”照亮津亚电子智能制造之路

随着第四次工业革命浪潮的到来,智能制造正成为制造业的新常态。工业4.0时代的工厂不再是封闭的制造孤岛,而是通过高度的数字化和网络化,实现生产过程的智能化、自动化和灵活化。在这样的大趋势下,制造业正经历着从传统制造向智能制造的深刻转型,数字化车间和智能化生产线成为推…

Ubuntu 22.04安装 docker

安装过程和指令 # 1.升级 apt sudo apt update # 2.安装docker sudo apt install docker.io docker-compose # 3.将当前用户加入 docker组 sudo usermod -aG docker ${USER} # 4. 重启 # 5. 查看镜像 docker ps -a 或者 docker images # 6. 下载镜像 docker pull hello-world …

海康充电桩报文校验TCP校验和

1 TCP校验文档校验文档要求: 校验码描述 校验码计算范围包含包头标识、消息头和消息体,校验算法采用 TCP 和校验,具体规则如下。 将待校验的所有数据分为 16 位的字(大端序),如果总长度为奇数个字节,则在最后增添一个 位都为 0 的字节; 将所有 16 位的字进行累加,累加…

【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常

【问题分类】驱动使用 【关键字】ODBC、驱动使用、PHP 【问题描述】 PHP使用PDO_ODBC连接yashan数据库&#xff0c;使用绑定参数获取数据时&#xff0c;客户现场出现报错 本地复现未出现异常报错&#xff0c;但是无法正确获取数据。 【问题原因分析】开启ODBC报错日志后&am…

线代老师大PK,这四位胜出!

说实话&#xff0c;线代真的别乱跟老师 因为每个老师讲课适用的人群不一样&#xff0c;比如都说李永乐老师线代讲的好&#xff0c;但是我去听完发现&#xff0c;李永乐老师的线代讲的虽然好&#xff0c;但是对于零基础或者基础不好的考生来说&#xff0c;真的有点不友好&#…

dataguard备库延时加大,同步报错(ORA-01119、ORA-17502、ORA-15173),该如何解决?

作者介绍&#xff1a;老苏&#xff0c;10余年DBA工作运维经验&#xff0c;擅长Oracle、MySQL、PG数据库运维&#xff08;如安装迁移&#xff0c;性能优化、故障应急处理等&#xff09; 公众号&#xff1a;老苏畅谈运维 欢迎关注本人公众号&#xff0c;更多精彩与您分享。一大早…

MYSQL 三、mysql基础知识 7(MySQL8其它新特性)

一、mysql8新特性概述 MySQL从5.7版本直接跳跃发布了8.0版本 &#xff0c;可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上 做了显著的改进与增强&#xff0c;开发者对MySQL的源代码进行了重构&#xff0c;最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度…

【运维自动化-配置平台】如何使用云资源同步功能(腾讯云为例)

云资源同步是通过apikey去单向同步云上的主机资源和云区域信息&#xff0c;目前支持腾讯云和亚马逊云。主要特性 1、蓝鲸配置平台周期性的单向只读同步云主机和vpc&#xff08;对应蓝鲸云区域&#xff09;信息&#xff0c;第一次全量&#xff0c;后面增量 2、默认同步到主机池…

短剧系统源码短剧平台开发短剧小程序APP短剧模版Java源码

一.管理端设置及操作 1.系统配置 系统的配置项都在该列表中,使用前请配置好参数 2.签到积分设置 签到可以获取设置积分,连续签到按照设置的积分规则走,积分可以兑换余额,兑换比例按照配置104,余额可以消费 3.用户中心 所有的用户注册后都会在该列表展示,可以查看用户详情,也…

正点原子imx6ull 进度条颜色、logo位置上偏或色偏等问题

正点原子imx6ull 进度条改颜色 logo位置上偏或显示色偏等问题 开机进度条logo问题进度条界面全屏logo位置上偏进度条界面logo其他问题进度条界面去掉中间这条杠 uboot界面logo问题不显示uboot界面的打印信息uboot显示logo不理想uboot不显示logo 开机进度条logo问题 进度条界面…

拿来做课设哈哈哈-“久坐提醒器”的网页应用

这篇文章将介绍一个名为“久坐提醒器”的网页应用&#xff0c;它通过HTML、CSS和JavaScript三种技术实现。下面是对这三种技术在实现该应用中的作用和代码的详细解析。 HTML&#xff1a;构建网页结构 HTML&#xff08;HyperText Markup Language&#xff09;是网页的基础结构…

2. ceph存储组件

ceph存储组件 一、ceph存储介绍1、ceph介绍2、ceph提供的存储接口 二、ceph的核心组件三、crush算法 一、ceph存储介绍 分布式存储/文件系统&#xff0c;数据按特定的算法分散存储到不同的设备上 存在数据副本机制&#xff0c;保证数据的可靠性 典型的开源软件&#xff1a; ce…