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

数据库无法连接情况排查

文章目录

  • 环境
  • 症状
  • 问题原因
  • 解决方案

环境

系统平台:N/A
版本:9.0,6.0,4.5

症状

本文档用于提供HGDB数据库的常见无法连接问题的基本排查思路,建议按顺序排查; 若以上步骤未能排查出连接问题,建议联系瀚高厂家处理。

问题原因

解决方案

一. 确认数据库服务是否正常
登录到数据库服务器: linux :

ps-ef|grep postgres

确认至少包含如下postgres关键服务

.../<安装路径下>/bin/postgres ...postgres: checkpointer ...postgres: background writer ...postgres: walwriter ...postgres: autovacuum launcher ...postgres: stats collector

windows : 使用任务管理器,检查postgres服务是否正常运行

二. 确认服务器本地能否正常接受连接

使用如下命令,尝试服务器本地连接数据库,假如可以进入psql,说明数据库服务运行正常。

本地回环地址测试:

psql-h127.0.0.1-U 用户名-d 数据库名-p 端口

网卡地址测试:

psql-h 数据库服务器IP地址-U 用户名-d 数据库名-p 端口

假如127.0.0.1可以正常连接数据库,但是对外IP地址无法连接,说明:

(1)服务器防火墙可能未开放对外访问数据库端口,联系系统管理员放开防火墙策略,

(2)检查数据库listen_addresses,检查监听是否放开为0.0.0.0或*

(3)检查selinux是否关闭,getenforce获取selinux状态,建议关闭selinux

三. 排查网络问题

工具提示IP地址不可达、端口拒绝访问、连接超时/connect timed out等,优先排查网络问题,使用ping和telnet等命令结合,测试网络情况

ping IP地址 telnet IP地址 端口

例如:

ping192.168.100.xx telnet192.168.100.xx5866

解决策略:

(1)确认数据库服务器IP和端口网络策略放通;

(2)假如IP可达,端口不可达,且数据库服务运行正常,则检查服务器防火墙、网络防火墙等安全策略启用情况;

四 连接信息填写错误

1 提示用户名或角色不存在

FATAL:role "用户名" does not exist

2 提示密码错误

FATAL: password authentication failed for user "用户名"

3 提示数据库不存在

FATAL: database "数据库名" does not exist

解决方案:检查连接工具中配置的用户名、密码、数据库名等连接信息是否正常

五 pg_hba中的相关报错

  1. pg_hba策略问题:

(1)未配置对应访问策略

FATAL: no pg_hba.conf entry for host "客户端IP",user "用户名",database "数据库名",SSL ...

(2)pg_hba中的reject策略拒绝了本次连接

FATAL:pg_hba.conf rejects connection for host "192.168.100.xx",user "xxx",database "xxx",...

解决方案: 参考文档017178604 《连接数据库失败提示hba.conf不符合的处理方法》

添加和调整pg_hba.conf访问策略

  1. 提示pg_hba认证方式不匹配
pg_hba ... the authentication type 13 is not supported

解决方案:数据库开启了sm3国密连接加密认证,需要替换客户端瀚高数据库驱动,或关闭sm3用户认证加密

六 会导致无法连接数据库的一些其他场景

  1. 数据库提示startup 或正在启动中

说明数据库刚刚启动,正在应用wal进行崩溃恢复,可以

ps -ef |grep postgres
检查startup recovering <000000开头的wal名>是否在推进

假如服务器为流复制备库,检查hot_standby参数是否开启。

  1. 提示超出最大连接数

FATAL: sorry, too many clients already
该错误为数据库的会话数量超出max_connections限制值

ps -ef |grep postgres|wc -l
与数据库的连接参数max_connections

假如超过最大连接数,需要择机重启数据库增加连接参数,或排查占用连接的会话。

  1. 超出用户/数据库连接参数限制:

FATAL: too many connections for role “角色名”

FATAL: too many connections for database “数据库名”
检查用户连接限制:

selectrolname,rolconnlimitfrompg_roles;

检查数据库连接限制:

selectdatname,datconnlimitfrompg_database;

-1表示无限制,其他整数表示实际连接数限制

使用如下命令修改连接限制: 用户:

alteruseru1withconnectionlimit连接数;

数据库:

alterdatabasedb1withconnectionlimit连接数;
http://www.jsqmd.com/news/642736/

相关文章:

  • 第5章,[标签 Win32] :GDI 的基本图形
  • Linux设备驱动_概述
  • [STM32] 散列文件与链接地址配置实战解析
  • 【无标题】第二章 Hadoop3安装
  • 对称式目镜设计中的光扇图分析与像差校正
  • VisionTransformer(二)—— 多头注意力机制:从理论到PyTorch实战解析
  • 收藏!小白/程序员入行AI应用开发必看,别被招聘要求吓退(附实操资源)
  • 常州装修设计领域评测与推荐——聚焦实力标杆,认准鸿鹄领跑优势
  • YOLOFuse效果展示:实测RGB+红外融合检测,复杂环境下精度显著提升
  • Dify低代码平台实战:5步搞定企业级AI应用开发(附避坑指南)
  • Redis 常用数据类型
  • day02统计师考试(初级)统计法的特点
  • 从理论到实践:信息量、码元与比特的深度解析及通信系统中的应用
  • 基于CNN卷积神经网络的锂电池SOC估计,MATLAB代码,二维图+三维图!
  • 人工智能艺术新范式:忍者像素绘卷:天界画坊在AIGC领域的应用探索
  • 当AI搜索引擎开始替用户做消费决策,品牌的媒介宣发逻辑也正在被彻底改写
  • 外汇流动性和市场情绪指标MT4、MT5
  • 深入大模型-37-learn-claude-code之第十二课学习claude code编程思想的体会
  • pgRouting安装及使用示例
  • 马尔可夫性、极小性和忠实性的关系:因果图与数据的深层逻辑
  • ZR.Admin.NET + Vue3实战:从本地开发到Nginx部署的完整避坑指南
  • 使用腾讯QClaw来拯救一个重度脂肪肝患者
  • 100G SFP光模块全解读:核心定义、关键特性与主流应用场景
  • L1-044 稳赢(15分)
  • RTA-OS Alarm配置避坑指南:从绝对/相对时间到自启动,这些细节别踩雷
  • FanControl完全指南:告别风扇噪音,5分钟打造完美静音电脑
  • Kylin-Desktop-V10-SP1-海光版(Hygon C86)安装与配置全指南
  • 5月19日起Roblox更新游戏发布要求,创作者反响不一!
  • 从云端到边缘:拆解Capsule Update如何成为现代设备(IoT/服务器)固件管理的基石
  • 2025年终极指南:R3nzSkin国服特供版——一键解锁LOL全皮肤的完整解决方案