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

检查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

重启服务

总结 

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章