打开pgAdmin,点击左侧Servers节点,右键选择Create → Server…,配置连接信息(名称、主机IP/域名、端口(默认5432)、用户名/密码),点击Save保存连接。
连接成功后,展开服务器节点,选择目标数据库,点击右侧Dashboard页签。可查看实时性能指标:
展开服务器节点下的Monitoring节点,可查看更详细的实时性能数据(如CPU使用率、内存消耗、磁盘I/O等),支持动态刷新。
点击左侧Logs节点,可查看数据库日志文件(需提前开启日志收集)。日志内容包括错误信息、慢查询记录等,用于故障排查和性能优化。
若需长期存储、可视化及告警,可集成Prometheus(数据采集)和Grafana(可视化):
在CentOS上安装Prometheus PostgreSQL Exporter(采集PostgreSQL指标)和Grafana(可视化):
sudo yum install prometheus-postgresql-exporter grafana -y
编辑Prometheus配置文件(/etc/prometheus/prometheus.yml),添加PostgreSQL数据源:
scrape_configs:
- job_name: 'postgresql'
static_configs:
- targets: ['localhost:9187'] # PostgreSQL Exporter默认端口
重启Prometheus使配置生效:sudo systemctl restart prometheus。
pg_stat_activity查看活动会话、pg_stat_database查看数据库统计信息)。#!/bin/bash
IDLE_COUNT=$(psql -U postgres -c "SELECT COUNT(*) FROM pg_stat_activity WHERE state='idle';")
if [ "$IDLE_COUNT" -gt 50 ]; then
echo "警告:空闲连接数超过50!" | mail -s "数据库告警" admin@example.com
fi
通过cron定时执行(如每分钟执行一次):crontab -e添加* * * * * /path/to/script.sh。使用pgAdmin内置Query Tool运行SQL查询,通过EXPLAIN(分析查询计划)或EXPLAIN ANALYZE(实际执行统计)找出慢查询瓶颈,优化SQL语句。
VACUUM(清理无用数据)和ANALYZE(更新统计信息),保持数据库性能;CREATE INDEX idx_column ON table_name(column_name)),提高查询速度。