PostgreSQL 启动报错的原因有很多种,需要看具体的报错信息才能准确判断。下面我先给你总结一下最常见的原因和排查思路,你可以对照看看是哪一种。
启动 PostgreSQL 时,不要只看最后一行,要看日志:
# 系统服务方式
journalctl -u postgresql -xe
# 或直接看日志文件
tail -n 100 /var/lib/postgresql/<版本>/main/pg_log/*.log
或手动启动看输出:
pg_ctl -D /var/lib/postgresql/14/main start
报错类似:
data directory "/var/lib/postgresql/14/main" has wrong ownership
✅ 解决:
chown -R postgres:postgres /var/lib/postgresql/14/main
chmod 700 /var/lib/postgresql/14/main
报错类似:
could not bind IPv4 address "0.0.0.0": Address already in use
✅ 解决:
netstat -tunlp | grep 5432
postgresql.conf 中的 port报错类似:
lock file "postmaster.pid" already exists
✅ 解决(确认没有 PG 在运行):
rm /var/lib/postgresql/14/main/postmaster.pid
报错类似:
FATAL: could not access file "xxx": No such file or directory
✅ 检查:
postgresql.confpg_hba.confNo space left on device
✅ 解决:
df -h
free -m
database system was not properly shut down
✅ 可能需要:
pg_resetwal -D <data_dir> # 有风险,慎用
请把以下信息发我:
我可以直接告诉你是哪一行配置或环境问题导致的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。