PostgreSQL连接被拒绝解决方法
当遇到 PostgreSQL 的 “could not connect to server: Connection refused” 错误时,真正的问题往往并非广为误解的 pg_hba.conf 权限配置,而是连接请求在抵达数据库认证流程前就已失败——这通常意味着服务未运行、未监听指定地址和端口、被防火墙拦截、客户端参数错误,或受安全软件阻断;本文系统梳理了五大关键排查维度,从验证服务状态、检查监听配置、放行防火墙规则、核对连接参数到识别安全软件干扰,帮你快速定位并解决根本原因,让连接重归稳定可靠。

如果您尝试连接 PostgreSQL 数据库,但收到 could not connect to server: Connection refused 错误,则该问题通常与 pg_hba.conf 的配置无关。此错误表明客户端根本未到达 PostgreSQL 的认证阶段,连接请求在传输层即被拒绝。以下是针对该错误的多种独立排查与修复路径:
一、验证 PostgreSQL 服务是否正在运行
“Connection refused”最常见原因是数据库进程未启动,导致操作系统无监听套接字响应 TCP 连接请求。必须首先确认服务处于活动状态。
1、在 Linux 系统上执行:sudo systemctl status postgresql
2、若显示 inactive (dead) 或未找到服务单元,运行:sudo systemctl start postgresql
3、对于非 systemd 环境(如某些容器或旧发行版),改用:pg_ctl -D /var/lib/postgresql/data status(路径需根据实际数据目录调整)
二、检查 PostgreSQL 是否监听目标端口和地址
即使服务运行,若未在预期 IP 和端口上绑定监听套接字,连接仍会被操作系统内核直接拒绝。pg_hba.conf 在此阶段尚未参与处理。
1、在数据库服务器本地执行:sudo ss -tlnp | grep :5432(将 5432 替换为您实际使用的端口)
2、若输出为空,或仅显示 127.0.0.1:5432 而您正从远程连接,则需修改 postgresql.conf 中的 listen_addresses 参数
3、将 listen_addresses = 'localhost' 改为 listen_addresses = '0.0.0.0' 或指定网卡 IP,并确保 port = 5432 与客户端一致
4、修改后必须重启服务:sudo systemctl restart postgresql
三、确认防火墙未拦截目标端口
操作系统级防火墙可能丢弃发往 PostgreSQL 端口的 SYN 包,使客户端收不到任何响应,表现为 Connection refused。
1、检查当前防火墙规则:sudo ufw status verbose(Ubuntu/Debian)或 sudo firewall-cmd --list-all(RHEL/CentOS)
2、若 5432 端口未在允许列表中,执行:sudo ufw allow 5432/tcp 或 sudo firewall-cmd --add-port=5432/tcp --permanent && sudo firewall-cmd --reload
3、在云环境(如阿里云、AWS)中,还需检查安全组规则是否放行对应端口和源 IP 段
四、排除客户端连接参数错误
客户端指定的主机名或端口号与服务实际监听配置不匹配,会导致连接尝试发送至错误地址,自然被拒绝。
1、确认连接字符串中的 host 值:若连接本地服务,使用 127.0.0.1 而非 localhost(后者可能触发 Unix domain socket,而服务未启用)
2、确认端口号完全一致:检查应用配置、JDBC URL、psycopg2.connect() 参数中的 port 是否与 postgresql.conf 中定义的 port 数值相同
3、在客户端机器上执行:telnet 127.0.0.1 5432(Linux/macOS)或 Test-NetConnection 127.0.0.1 -Port 5432(PowerShell),观察是否返回 Connected
五、检查是否被安全软件拦截
部分终端安全软件(如火绒、360、Windows Defender 防火墙)可能主动阻止 PostgreSQL 进程监听网络端口,尤其在非标准安装路径或首次运行时。
1、临时禁用本地杀毒软件及系统防火墙,再次尝试 telnet 测试
2、若禁用后连接成功,需在安全软件中为 postgres 或 postmaster 进程添加网络访问白名单
3、检查 Windows 系统服务管理器中,PostgreSQL 服务是否处于“正在运行”状态,且启动类型为“自动”
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
SpringBoot3自定义配置库实现教程
- 上一篇
- SpringBoot3自定义配置库实现教程
- 下一篇
- JavaScript操作URL及解析构造查询参数详解
-
- 文章 · 常见问题 | 14分钟前 |
- qooapp OpenSDK怎么接入?包名、审核与Android版本边界说明
- 166浏览 收藏
-
- 文章 · 常见问题 | 27分钟前 |
- 78动漫官网入口在哪里?网站、APP与资料库分工说明
- 461浏览 收藏
-
- 文章 · 常见问题 | 36分钟前 |
- bangumi API文档怎么看?公开接口、认证与调用边界说明
- 229浏览 收藏
-
- 文章 · 常见问题 | 47分钟前 |
- 蛙蛙漫画能离线阅读吗?公开资料页已知功能与未声明能力说明
- 131浏览 收藏
-
- 文章 · 常见问题 | 58分钟前 |
- Lanerc动漫网页版GPU占用高怎么办?硬件加速与浏览器排查说明
- 300浏览 收藏
-
- 文章 · 常见问题 | 1小时前 |
- 人类基准反应测试的首页项目怎么分?反应测试与配对游戏入口说明
- 393浏览 收藏
-
- 文章 · 常见问题 | 1小时前 |
- artworkout帮助中心有哪些常见问题?自定进度、重播与账户入口说明
- 287浏览 收藏
-
- 文章 · 常见问题 | 1小时前 |
- 建筑项目竣工资料按阶段归档的检查清单
- 482浏览 收藏
-
- 文章 · 常见问题 | 1小时前 |
- shizuku官方GitHub在哪里?源码仓库、API文档与下载入口关系
- 106浏览 收藏
-
- 文章 · 常见问题 | 1小时前 |
- 米坛社区工具下载入口怎么找?AstroBox、表盘自定义工具与 Notify 区分说明
- 420浏览 收藏
-
- 文章 · 常见问题 | 1小时前 |
- 爱玩机工具箱 WebUI 怎么看?模块界面、目录结构与授权边界说明
- 369浏览 收藏
-
- 文章 · 常见问题 | 2小时前 |
- 甲壳虫ADB助手有广告吗?正版入口、无捆绑与非官网包辨别
- 268浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 258次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 302次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 282次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 259次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 68次使用
-
- 新能源汽车充电站日常巡检如何记录枪口、计费和告警状态
- 2026-09-16 501浏览
-
- age动漫APP怎么下载?安卓与iOS入口、下载页和安全核对说明
- 2026-09-05 501浏览
-
- 攀岩馆举办公开攀岩赛,哪些情形需要申请高危险性体育赛事活动许可
- 2026-08-30 501浏览
-
- 2026年秋季开学时间怎么查:全国统一吗、家长看哪份通知
- 2026-08-26 501浏览
-
- 单射满射图像特征及水平线测试法解析
- 2026-05-29 501浏览

