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官方文檔或社區論壇。