乐于分享
好东西不私藏

(文档)第122讲:可视化监控利器 — pg_top使用全攻略

(文档)第122讲:可视化监控利器 — pg_top使用全攻略

Pg_top功能介绍

pg_top 的主要功能:

• pg_top 的主要功能实时查看活动会话:显示每个数据库连接的活动会话信息,包括查询、状态、用户、数据库、客户端地址等。

• 监控资源使用:显示 PostgreSQL 实例的 CPU、内存和 I/O 资源使用情况。

• 显示锁和等待信息:帮助识别数据库中的锁争用和等待事件。

• 实时排序和筛选:可以按多种条件实时排序和筛选会话信息,如按 CPU 使用、内存使用、运行时间等。

• 查询缓存命中率:显示查询缓存命中率,帮助了解数据库缓存的有效性。

• 显示表和索引统计信息:提供表和索引的使用和性能统计信息。

pg_top安装

1、下载

https://github.com/markwkm/pg_top

2、安装依赖软件包

sudo apt install libbsd-dev

3、源码安装(适用于所有系统)

cmake -DCMAKE_INSTALL_PREFIX=/usr/local

make

make install

4、验证

pg_top

Pg_top使用方式

使用pg_top进行数据库监控。和登录本地数据库一样,设置-U指定登录用户,-d指定数据库,-h指定主机名,-p指定端口。

监控内容会显示进程数量。后台进程有多少个,活动的进程有多少个,idle的进程有多少个。还可以看到主机的cpu和内存使用情况。下面是当前PostgreSQL进程的pid,用户名,状态,XTIME代表事务时间,QTIME代表query执行时间,还有cpu百分比和锁的数量。后面的COMMAND代表进程和它的操作类型。

• 在进入监控的界面按h,还会出现隐藏的一些指令

• 按L输入进程号可以查看锁信息

• 例如按Q输入进程号可以查看单个进程执行SQL语句

• 按E可以查看该进程运行SQL的执行计划

• -x 后面指定次数,然后把该结果重定向到一个文件。通过grep对这个文件进行过滤,我们可以找出系统发生性能变化的准确时间点和波动的趋势

• pg_top -U postgres -d postgres -h localhost -p 5432 -x 10 > pg.out

• pg_top还可以监控remote主机的信息,这需要在remote主机上安装pg_proctab插件,只有安装插件才能查询remote主机的cpu、内存等信息,

git https://gitlab.com/pg_proctab/pg_proctab.git

cd pg_proctab

make && make install

[postgres@centos8 ~]$ psql

postgres=# create extension pg_proctab;

PostgreSQL中文社区认证

CUUG与工信部人才交流中心合作,推出PostgreSQL初/中/高级证书,证书中明确指定适用于信息技术应用创新人才岗位能力评定要求。

PostgreSQL技术大讲堂系列课程

    PostgreSQL从入门到精通,

    系列课程始于23年初,

    在周日19:30与大家分享PG技术,

    从基础的PG介绍与安装,

    到后续的调优、流复制等企业应用,

    涉及90多个知识点的介绍与演示,

    截至25年8月9日,

    系列课程已讲100期,

    欢迎继续关注PostgreSQL技术大讲堂,

    如果你也有意学习PostgreSQL,

    可以联系客服,领取相关资料。

相关阅读:

·【2026.4.7】工信人才红头文件–关于开展PostgreSQL数据库管理员评测工作的通知

【PG证书】恭喜CUUG学员获得工信人才2026年新春首批PG中高级证书 – 证书日期(2026年2月7日)
恭喜CUUG周同学在繁花4月里收获ORACLE 19C OCM纸质证书大礼包(证书时间:2026年1月20日)

CUUG走进内蒙古工业大学智能科学与技术学院开展关于“PostgreSQL开源数据库”师资培训的活动

(文档)第120讲:索引调优利器—hypopg使用技巧

(文档)第121讲:Oracle兼容工具—orafce使用技巧