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指定端口。

1.jpg

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

2.jpg

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

3.jpg

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

4.jpg

5.jpg

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

6.jpg

7.jpg

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

6.jpg

9.jpg

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

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

10.jpg

11.jpg

• 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初/中/高级证书,证书中明确指定适用于信息技术应用创新人才岗位能力评定要求。

550-2.jpg

pg大讲堂122直播回放.jpg