Debian上PostgreSQL故障排查步骤如下:
连接问题排查
sudo iptables -L -n,未开放则用sudo ufw allow 5432。sudo systemctl status postgresql,未启动则用sudo systemctl start postgresql。sudo tail -f /var/log/postgresql/postgresql-<版本号>-main.log。查询性能问题排查
EXPLAIN分析慢查询计划,针对性创建索引。ANALYZE。pg_stat_statements扩展监控SQL性能(需修改postgresql.conf并重启服务)。磁盘空间问题排查
df -h,清理过期WAL文件或优化归档配置。max_wal_size、checkpoint_timeout等参数减少日志堆积。权限与配置问题排查
GRANT/REVOKE语句调整。postgresql.conf和pg_hba.conf配置是否正确(如listen_addresses、认证方式)。其他高级排查
pg_stat_activity查看活动连接,识别阻塞或异常会话。pg_top监控内存使用,调整work_mem等参数避免内存泄漏。openssl s_client -connect测试连接。工具与日志分析
pgBadger分析日志生成报告。pgAdmin或Prometheus+Grafana监控数据库状态。提示:操作前建议备份数据,复杂问题可参考PostgreSQL官方文档或社区论坛。