Debian下排查PostgreSQL故障可按以下步骤进行:
- 查看日志:通过
tail -f /var/log/postgresql/postgresql-{版本号}-main.log实时查看日志,定位错误信息。 - 检查服务状态:用
systemctl status postgresql确认服务是否运行,未启动则用systemctl start postgresql启动。 - 验证网络与端口:用
iptables -L -n检查防火墙是否放行5432端口(默认),netstat -tulnp确认服务监听状态。 - 分析查询性能:
- 用
EXPLAIN分析慢查询计划,针对性创建索引。 - 启用
pg_stat_statements扩展(需修改postgresql.conf并重启),统计SQL执行情况。
- 用
- 监控系统资源:通过
top、htop或pg_top查看CPU、内存使用,磁盘空间不足时清理或扩容。 - 处理连接与权限问题:
- 用
pg_stat_activity查看活动连接,排查异常会话。 - 检查
pg_hba.conf配置用户访问权限,确保用户名、密码正确。
- 用
- 排查磁盘与日志问题:
- 用
df -h查看磁盘空间,清理过期WAL日志(pg_archivecleanup工具)。 - 若日志堆积,调整
max_wal_size等参数并优化归档策略。
- 用
- 使用工具辅助:
pgBadger分析日志生成可视化报告。pgAdmin或Prometheus+Grafana监控数据库状态。
参考来源: