PostgreSQL

关注公众号 jb51net

关闭
首页 > 数据库 > PostgreSQL > PostgreSQL突然无法启动解决

关于PostgreSQL突然无法启动的排查过程及解决方法

作者:【枫叶红时】

SQL数据库服务器无法启动的原因可能有多种,这篇文章主要介绍了关于PostgreSQL突然无法启动的排查过程及解决方法,文中通过代码介绍的非常详细,需要的朋友可以参考下

今天我的数据同步脚本报错了

检查PostgreSQL服务发现无法启动

于是便有了这篇记录,算是日志吧,把我的排查过程、解决思路记录一下

1、检查端口

检查服务端口是否被占用,在命令提示符中执行

netstat -ano | findstr :5432

输出结果显示该端口并未被占用(没有LISTENING状态),所以并不是端口被占用导致的PostgreSQL无法启动

2、检查日志

在PostgrSQL安装目录/data/log下查看最新日志

并没有任何报错

3、卸载系统补丁更新

突然想到启动电脑时系统有更新,猜想可能是系统补丁造成的,于是决定暂时将该补丁卸载(毕竟昨天还好好的)

卸载后重启电脑发现该问题依旧存在,继续排查

4、检查磁盘空间

确保系统盘和数据目录所在磁盘有足够空间(至少预留1GB以上)

5、检查目录权限

PostgreSQL服务账户(如 NETWORK SERVICE)需要对数据目录有完全控制权限。

右键数据目录(/data)→ 属性 → 安全 

该账户已经拥有完全控制

6、检查数据目录是否损坏

在命令提示符输入

# 进入PostgreSQL的bin目录
cd "D:\Program Files\PostgreSQL\17\bin"
# 尝试恢复
pg_ctl start -D "D:\Program Files\PostgreSQL\17\data" -w

根据错误信息,PostgreSQL 启动失败的原因是缺少 SSL 证书文件(server.crt

回忆:之前领导要求使用外网同步,于是我启用了PostgreSQL的SSL认证,后面改成内网同步,但是没有取消SSL

在postgresql.conf文件中禁用SSL

重启服务

总结 

到此这篇关于关于PostgreSQL突然无法启动的排查过程及解决方法的文章就介绍到这了,更多相关PostgreSQL突然无法启动解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文