温馨提示×

linux下pgadmin如何监控

小樊
50
2026-10-06 10:16:38
栏目: 智能运维

在 Linux 下使用 pgAdmin 监控 PostgreSQL,通常可以从数据库级别和操作系统级别两个维度来做。下面按“能用、实用、进阶”给你梳理一下。


一、pgAdmin 自带的监控功能(最常用)

1. Dashboard(仪表盘)监控

pgAdmin 4 自带 Dashboard,可以实时监控:

  • 连接数(Sessions)
  • 吞吐量(Transactions / TPS)
  • 锁(Locks)
  • 缓存命中率
  • 磁盘 I/O(部分依赖系统统计)

使用方法:

  1. 打开 pgAdmin
  2. 连接 PostgreSQL 服务器
  3. 选中数据库或服务器
  4. 点击 Dashboard 标签

✅ 适合:快速查看数据库健康状态


2. 查看服务器状态(Server Status)

pgAdmin 旧版本有 Server Status 工具(新版本集成在 Dashboard):

可查看:

  • 当前连接
  • 执行中的查询
  • 锁等待

3. 使用 Query Tool 主动监控

你可以在 pgAdmin 的 Query Tool 中执行 SQL:

-- 当前连接
SELECT * FROM pg_stat_activity;

-- 表统计
SELECT * FROM pg_stat_user_tables;

-- 索引使用情况
SELECT * FROM pg_stat_user_indexes;

-- 锁
SELECT * FROM pg_locks;

二、Linux 系统级监控(pgAdmin 之外)

pgAdmin 本身不监控 Linux 系统资源,需要配合系统工具。

1. 查看 PostgreSQL 进程

ps aux | grep postgres

2. 查看资源占用

top
htop

3. 查看磁盘

df -h
iostat -x 1

4. 查看日志

tail -f /var/log/postgresql/postgresql-*.log

三、进阶:pgAdmin + 扩展工具(推荐)

1. pg_stat_statements(非常重要)

启用后可以看到慢查询统计

CREATE EXTENSION pg_stat_statements;

配置 postgresql.conf:

shared_preload_libraries = 'pg_stat_statements'

重启后,在 pgAdmin 中查询:

SELECT * FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;

2. Prometheus + Grafana(生产推荐)

如果你是要长期监控:

  • node_exporter(Linux)
  • postgres_exporter(PostgreSQL)
  • Grafana 看板

pgAdmin 只做管理,监控交给 Grafana。


四、常见使用场景建议

场景 推荐方式
临时看数据库状态 pgAdmin Dashboard
查慢 SQL pg_stat_statements
看系统资源 top / htop / iostat
生产长期监控 Prometheus + Grafana
排查锁问题 pg_locks + pg_stat_activity

如果你愿意,可以告诉我:

  • 你用的是 pgAdmin 4 还是 3
  • PostgreSQL 版本
  • 是 开发环境还是生产环境

我可以直接给你一套可落地的监控方案。

0 踩