PostgreSQL在Linux上的故障排查步骤如下:
查看日志文件:
/var/log/postgresql/,使用tail -f postgresql-{版本号}-main.log实时查看。grep "error"搜索错误关键词,或用pgBadger工具生成可视化报告。检查服务状态:
systemctl status postgresql确认服务是否正常运行,异常时尝试重启sudo systemctl restart postgresql。分析配置文件:
postgresql.conf(路径:/etc/postgresql/{版本号}/main/或/var/lib/pgsql/data/)中的listen_addresses、端口、内存参数等是否正确。pg_hba.conf中的客户端认证配置(如IP允许范围、认证方式)。监控数据库状态:
pg_stat_activity视图查看当前连接、查询及锁等待情况,识别长时间运行的查询或死锁。EXPLAIN分析慢查询的执行计划,优化索引或调整SQL。检查系统资源:
top、htop、free命令监控CPU、内存使用情况,用df -h查看磁盘空间。处理网络与权限问题:
ping或telnet测试网络连通性。/var/lib/pgsql的读写权限)。使用工具辅助排查:
pgBadger:分析日志生成性能、错误报告。pg_dump/pg_restore:备份与恢复数据,用于数据损坏时的修复。参考来源: