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

Windows 环境 psql 客户端连接数据库超慢问题

文章目录

  • 现象
    • ✅ 这是一个“连接方式+系统阻断”组合的问题:
      • 🎯 根本原因:
    • 🔥 为什么安装杀毒软件后问题就出现了?
    • ✅ 如何验证你是否受到了这类影响?
      • 1. 使用 `-h 127.0.0.1` 快速连接,说明 TCP/IP 是正常的。
      • 2. 不加 `-h`,卡住几分钟,说明是**本地连接方式(命名管道)被拦截**了。
      • 3. 查看 PostgreSQL 的连接日志:
    • 🛠️ 推荐解决方案
      • ✅ **首选方式:始终使用 `-h 127.0.0.1` 显式 TCP 连接**
      • ✅ 如果你坚持使用默认行为(不加 `-h`):
        • 方法 1:排除或白名单 PostgreSQL 路径
        • 方法 2:配置 `pg_hba.conf` 优先 TCP 连接
    • ✅ 总结:

现象

Windows 环境下psql 命令不加 -h 127.0.0.1 时连接 PostgreSQL 变得非常慢(大约 2 分钟),安装杀毒软件后(其实是公司的所谓的信息管控软件)出现该问题,本质上:


✅ 这是一个“连接方式+系统阻断”组合的问题:

🎯 根本原因:

当你不指定 -hpsql 会优先尝试使用本地非 TCP 的连接方式,例如:

连接方式平台默认行为
UNIX socketLinux/macOS默认使用(最快)
命名管道Windows如果未指定 -h,尝试命名管道连接
TCP 连接所有平台显式指定 -h 127.0.0.1 才用

🔥 为什么安装杀毒软件后问题就出现了?

在 Windows 上安装某些**杀毒软件、安全卫士、管控系统(如 360、火绒、McAfee、Symantec)**后,会启用如下策略:

行为类型描述
阻止对 \\.\pipe\* 的访问出于“防止本地提权攻击”的目的,阻断命名管道的创建或连接请求
拦截 localhost 解析或连接会劫持 localhost 到某些防护服务上进行扫描处理(增加连接延迟)
检查命令行行为对命令行程序如 psql.exe 做行为审查,尤其是数据库连接行为
插入透明代理或钩子对网络连接做 HOOK 检查,导致非标准连接方式阻塞或延迟

这会让 psql 尝试管道连接时被拦截、卡住、直到超时,然后才 fallback 到 TCP/IP,整个过程耗时数十秒甚至两分钟。


✅ 如何验证你是否受到了这类影响?

1. 使用 -h 127.0.0.1 快速连接,说明 TCP/IP 是正常的。

psql -U postgres -h 127.0.0.1 -d yourdb

2. 不加 -h,卡住几分钟,说明是本地连接方式(命名管道)被拦截了。

3. 查看 PostgreSQL 的连接日志:

pg_log 或自定义日志目录中,查看连接延迟、是否出现类似:

connection received: host=[local]
could not connect via Named Pipe...
timeout...

🛠️ 推荐解决方案

首选方式:始终使用 -h 127.0.0.1 显式 TCP 连接

这会绕过所有命名管道尝试,避免杀软拦截。

psql -h 127.0.0.1 -U postgres -d yourdb

✅ 如果你坚持使用默认行为(不加 -h):

可以尝试以下方式降低被拦截的可能性:

方法 1:排除或白名单 PostgreSQL 路径

在你的杀毒软件中将 PostgreSQL 相关路径加入排除:

  • psql.exe
  • pg_ctl.exe
  • 数据目录(如 C:\PostgreSQL\data
方法 2:配置 pg_hba.conf 优先 TCP 连接
# 在文件顶部添加此项,优先匹配
host all all 127.0.0.1/32 trust

✅ 总结:

现象原因是否与管道有关
psql-h 时连接非常慢默认尝试命名管道连接,但被杀毒软件拦截或检测✅ 是相关的
安装杀毒软件后开始变慢杀毒软件限制命名管道、劫持本地连接,或 HOOK 网络行为✅ 是诱因
-h 127.0.0.1 后连接恢复正常跳过命名管道,直接走 TCP/IP,不再被拦截✅ 规避成功
http://www.xdnf.cn/news/16971.html

相关文章:

  • Mac电脑安装HomeBrew
  • GitHub 趋势日报 (2025年08月01日)
  • 【转】大模型安全治理的现状与展望
  • 【Leetcode】2561. 重排水果
  • Paper Reading《TrafficFormer: An Efficient Pre-trained Model for Traffic Data》
  • 【Leetcode hot 100】49.字母异位词分组
  • Windows中使用Qwen模型:VSCode+Cline
  • ABP VNext + NATS JetStream:高性能事件流处理
  • 【智能体cooragent】不同的单智能体调用的大模型的推理的输入与输出
  • flutter分享到支付宝
  • 模拟激光相机工作站版本6.0 5.2.32 6.0.44 6.031 5.2.20
  • LeetCode 每日一题 2025/7/28-2025/8/3
  • gcc-arm-none-eabi安装后,找不到libgcc.a的拉置
  • Java基础暑假每日一练
  • 集成电路学习:什么是CMSIS微控制器软件接口标准
  • Json Jsoncpp
  • sqli-labs:Less-20关卡详细解析
  • Gossip 协议
  • 用 Qt 打造优雅的密码输入框:添加右侧眼睛图标切换显示
  • 关于Web前端安全防御之点击劫持的原理及防御措施
  • OpenCV HSV与RGB颜色模型的区别
  • Elasticsearch+Logstash+Filebeat+Kibana单机部署
  • 论文笔记:Bundle Recommendation and Generation with Graph Neural Networks
  • OpenCV 全解读:核心、源码结构与图像/视频渲染能力深度对比
  • 电力系统分析笔记:发电机与变压器的数学建模与运行状态详解
  • 图漾AGV行业常用相机使用文档
  • Unity —— Android 应用构建与发布​
  • 边缘计算优化!陌讯轻量化模型实现路面裂缝误检率↓78%
  • Java函数式编程之【Stream终止操作】【中】【通用约简reduce】
  • 机器学习sklearn:聚类