Postgresql无法连接问题汇总

一. 数据库服务未启动

报错信息:

[postgres@k8s-node2 ~]$ psql 
psql: could not connect to server: No such file or directoryIs the server running locally and acceptingconnections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

✅ 解决方案

1)用服务启动postgresql数据库:

[postgres@k8s-node2 ~]$ systemctl start postgresql

2)用命令启动postgresql数据库(需配置环境变量)

[postgres@k8s-node2 ~]$ pg_ctl start -D /var/lib/pgsql/data

二. pg_hba.conf 认证问题

报错信息:

[postgres@k8s-node2 data]$ psql -U test_user -d postgres
psql: FATAL:  Peer authentication failed for user "test_user"或者:
[postgres@k8s-node2 data]$ psql -U test_user -d test_db
psql: FATAL:  no pg_hba.conf entry for host "192.168.66.11", user "test_user", database "test_db"

解决方案:

编辑data目录下的pg_hba.conf文件,IPv4 local connections: 下增加如下一行
host    all             all             0.0.0.0/0               md5

[postgres@k8s-node2 data]$ vim /var/lib/pgsql/data/pg_hba.conf翻到文件最下方:# TYPE  DATABASE        USER            ADDRESS                 METHOD# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             0.0.0.0/0               md5
host    all             all             127.0.0.1/32            md5

修改完需要重启数据库使修改参数生效,重启完再次连接提示需要密码,此时可正常连接。

[postgres@k8s-node2 data]$ pg_ctl restart[postgres@k8s-node2 data]$ psql -U test_user -d test_db
Password for user test_user:

三. listen_addresses 配置问题

报错信息:

[postgres@k8s-node2 data]$ psql -U test_user -h 192.168.66.101
psql: could not connect to server: Connection refusedIs the server running on host "192.168.66.101" and acceptingTCP/IP connections on port 5432?

 ✅ 解决方案:

登录查看当前listen_addresses为默认的localhost(只允许127.0.0.1,本机局域网不可以)

postgres=# show listen_addresses ;listen_addresses 
------------------localhost
(1 row)修改listen_addresses为'0.0.0.0';postgres=# alter system set listen_addresses ='0.0.0.0';
ALTER SYSTEM

该参数重启数据库生效,重启完后,可正常登录,

[postgres@k8s-node2 data]$ pg_ctl restart 
waiting for server to shut down.... done
server stopped
waiting for server to start....2025-03-19 22:49:45.779 PDT [104870] LOG:  redirecting log output to logging collector process
2025-03-19 22:49:45.779 PDT [104870] HINT:  Future log output will appear in directory "../pg_log".done
server started[postgres@k8s-node2 data]$ psql -U test_user -h 192.168.66.101
Password for user test_user: 

四. 防火墙已开启但未放开数据库的端口 (以centos7防火墙为例)

报错信息:

此类报错常见于用另一台服务器访问在数据库服务器的数据库,192.168.66.101上有安装数据库连接时报错:

[root@master etc]# psql -U test_user -p 5432 -h 192.168.66.101
psql: error: could not connect to server: No route to hostIs the server running on host "192.168.66.101" and acceptingTCP/IP connections on port 5432?

此时检查数据库服务器上的防火墙,可以看到防火墙是开启的,检查放开的端口为空,此时外部无法访问该服务器的5432端口,进而无法访问数据库

[root@k8s-node2 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: active (running) since Wed 2025-03-19 22:57:44 PDT; 26s agoDocs: man:firewalld(1)Main PID: 111666 (firewalld)Tasks: 2Memory: 32.9MCGroup: /system.slice/firewalld.service└─111666 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopidMar 19 22:57:44 k8s-node2 systemd[1]: Starting firewalld - dynamic firewall daemon...
Mar 19 22:57:44 k8s-node2 systemd[1]: Started firewalld - dynamic firewall daemon.
Mar 19 22:57:44 k8s-node2 firewalld[111666]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure confi...t now.
Hint: Some lines were ellipsized, use -l to show in full.
[root@k8s-node2 ~]# firewall-cmd --list-ports[root@k8s-node2 ~]#

 ✅ 解决方案:

1)开启5432端口
[root@k8s-node2 ~]# firewall-cmd --permanent --add-port=5432/tcp
success
[root@k8s-node2 ~]# firewall-cmd --add-port=5432/tcp
success2)关闭并禁用防火墙
[root@k8s-node2 ~]# systemctl stop firewalld
[root@k8s-node2 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

五、其他问题

1)端口被占用

2)用户权限不足

3)pg_hba.conf做了限制用户连接

.....................................................如有其他问题可在评论留言

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

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

相关文章

k8s搭建kube-prometheus

后续再补一个k8s集群搭建的博客,从0开始搭建k8s集群。使用kube-prometheus非常方便,主要问题只在于拉取镜像。除了拉取镜像外其他时间5分钟即可。耐心等待拉取镜像。 一.kube-prometheus简介 kube-prometheus 是一个专为 Kubernetes 设计的开源监控解决…

QT网页显示的几种方法及对比

一.直接跳转打开网页 1.使用QDesktopServices::openUrl调用系统浏览器 原理:直接调用操作系统默认浏览器打开指定URL,不在应用程序内嵌入网页。 优点: 实现简单,无需额外模块或依赖。 适用于仅需跳转外部浏览器的场景。 缺点&…

【Java SE】抽象类/方法、模板设计模式

目录 1.抽象类/方法 1.1 基本介绍 1.2 语法格式 1.3 使用细节 2. 模板设计模式(抽象类使用场景) 2.1 基本介绍 2.2 具体例子 1.抽象类/方法 1.1 基本介绍 ① 当父类的某些方法,需要声明,但是又不确定如何实现时&#xff…

Python数据可视化工具:六西格玛及其基础工具概览

在当今数据驱动的时代,数据分析和可视化工具成为了各行业优化流程、提升质量的关键手段。六西格玛(Six Sigma)作为一种以数据为基础、追求完美质量的管理理念,其实施依赖于一系列基础工具的灵活运用。而Python,凭借其强…

调试 Rust + WebAssembly 版康威生命游戏

1. 启用 Panic 日志 1.1 让 Panic 信息显示在浏览器控制台 如果 Rust 代码发生 panic!(),默认情况下不会在浏览器开发者工具中显示详细的错误信息。这使得排查问题变得困难。 我们可以使用 console_error_panic_hook 这个 Rust crate,将 Panic 信息打…

网络编程中客户端与服务器的搭建与协议包应用

1.客户端的搭建 2.服务器搭建 3.TCP中的粘包现象 tcp协议为了提高发送的效率,会将短时间连续发送的小数据,当做一组数据统一发送 原理是: tcp协议本身存在一个1500字节的缓存区,tcp协议每次write发送数据的时候,总是…

微博ip属地不发微博会不会变

随着社交媒体的普及,微博作为其中的佼佼者,一直备受关注。而且微博上线了显示用户IP属地的功能,这一功能旨在减少冒充热点事件当事人、恶意造谣、蹭流量等不良行为,确保传播内容的真实性和透明度。然而,这也引发了一些…

【初探数据结构】树与二叉树

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对数据结构感…

Neo4j GDS(Graph Data Science)库安装(Mac版)

Neo4j GDS(Graph Data Science)库安装(Mac版) Neo4j GDS库安装(Mac版) Neo4j GDS(Graph Data Science)库安装(Mac版)前言GDS(Graph Data Science&…

DeepSeek 3FS 与 JuiceFS:架构与特性比较

近期,DeepSeek 开源了其文件系统 Fire-Flyer File System (3FS),使得文件系统这一有着 70 多年历时的“古老”的技术,又获得了各方的关注。在 AI 业务中,企业需要处理大量的文本、图像、视频等非结构化数据,还需要应对…

《南京日报》专题报道 | 耘瞳科技“工业之眼”加码“中国智造”

在江宁开发区,机器人已不再是科幻电影里的遥远想象,他们就像人类的“同事”,在工地上忙着贴砖、刷墙、搬运、检测; 在体育训练场上帮助运动员矫正姿势; 在医院里帮助医生发现帕金森早期征兆,在智慧工厂里…

SpringBoot最佳实践之 - 使用AOP记录操作日志

1. 前言 本篇博客是个人在工作中遇到的需求。针对此需求,开发了具体的实现代码。并不是普适的记录操作日志的方式。以阅读本篇博客的朋友,可以参考此篇博客中记录日志的方式,可能会对你有些许帮助和启发。 2. 需求描述 有一个后台管理系统…

投影算子(Projection Operator)的定义、性质、分类以及应用

文章目录 1. 投影算子的定义2. 投影算子的几何意义3. 一些简单的例子例 1:二维平面上的投影例 2:投影到一条任意方向的直线例 3:三维空间中投影到一个平面 4. 投影算子的性质4.1、幂等性(Idempotency): P 2…

VLAN综合实验报告

一、实验拓扑 网络拓扑结构包括三台交换机(LSW1、LSW2、LSW3)、一台路由器(AR1)以及六台PC(PC1-PC6)。交换机之间通过Trunk链路相连,交换机与PC、路由器通过Access或Hybrid链路连接。 二、实验…

coding ability 展开第五幕(二分查找算法)超详细!!!!

. . 文章目录 前言二分查找搜索插入的位置思路 x的平方根思路 山脉数组的峰顶索引思路 寻找旋转排序数组中的最小值思路 总结 前言 本专栏上篇博客已经把滑动指针收尾啦 现在还是想到核心——一段连续的区间,有时候加上哈希表用起来很爽 今天我们来学习新的算法知识…

文献阅读篇#2:YOLO改进类的文章如何高效进行文献阅读(对于初学者)

对于初学者来说,文献阅读是非常非常重要的一个学习方式,好的文献阅读方法会让学习的效率翻倍。我希望能够总结出一套比较有效的文献阅读方法,并通过记录的方法来找到不足和可改进之处 一、文献检索 对于初学者来说,应当先从中文…

数智读书笔记系列021《大数据医疗》:探索医疗行业的智能变革

一、书籍介绍 《大数据医疗》由徐曼、沈江、余海燕合著,由机械工业出版社出版 。徐曼是南开大学商学院副教授,在大数据驱动的智能决策研究领域颇有建树,尤其在大数据驱动的医疗与健康决策方面有着深入研究,曾获天津优秀博士论文、…

MarsCode AI实战:利用DeepSeek 快速搭建你的口语学习搭子

资料来源:火山引擎-开发者社区 成品抢先看! 自从MarsCode AI Chat模型全新升级,接入 Deepseek-R1、Deepseek-V3和豆包大模型1.5 三大模型,越来越多朋友注意到了AI编程能给我们带来的无限可能,也开始跃跃欲试想要尝试从…

Linux环境变量:深入解析与实用指南

目录 一、环境变量概述 二、环境变量的作用 三、环境变量的类型 3.1系统环境变量 3.2用户环境变量 四、环境变量的操作 4.1查看环境变量 4.2设置环境变量 4.3删除环境变量 五、环境变量的配置文件 六、环境变量的最佳实践 七、总结 环境变量是Linux系统中至关重要的…

C++20 线程协调类:从入门到精通

文章目录 1. 初识线程协调2. std::barrier:多线程同步的屏障2.1 核心函数2.2 示例代码2.3 高级用法2.4 适用场景 3. std::latch:一次性同步原语3.1 核心函数3.2 示例代码3.3 高级用法3.4 适用场景 4. std::counting_semaphore:可重用的同步原…