重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 827|回复: 1
打印 上一主题 下一主题

PG awr 工具 pg_profile安装

[复制链接]
跳转到指定楼层
楼主
发表于 2024-3-18 08:45:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 郑全 于 2024-3-18 14:44 编辑

软件源:
   wget https://github.com/zubkov-andrei ... profile--4.4.tar.gz

拷贝文件到extension
  tar -xzvf pg_profile--4.4.tar.gz  -C /u01/postgre/pg16/share/extension/


创建扩展
postgres=# CREATE EXTENSION dblink;
postgres=# CREATE EXTENSION pg_stat_statements;



postgres=# CREATE SCHEMA profile;postgres=# CREATE EXTENSION pg_profile SCHEMA profile;



不想指定模式限定符,可以设置search_path


postgres=# set search_path="$user",public,profile;
SET


postgres=# show search_path;      
search_path        
--------------------------
"$user", public, profile
(1 row)
postgres=# alter user postgres set search_path to "$user", public,profile;


ALTER ROLE




/pgdb/data/postgres.conf#


增加track相关参数
track_activities = on #默认on
track_counts = on #默认打开  
track_io_timing = on #默认off  跟踪IO消耗的时间
track_functions = all # none, pl, all default none                        none:不收集                       pl:只收集过程语言函数                       all:收集所有的函数

#加载动态库
shared_preload_libraries = 'pg_stat_statements'  #修改后需重启生效
#增加pg_stat_statements相关参数
pg_stat_statements.max = 10000 #最多保留多少条统计信息,通过LRU算法,覆盖老的记录(即pg_stat_statements视图中行的最大数量)
pg_stat_statements.track = all #跟踪顶层语句(直接由客户端发出的语句)
pg_stat_statements.track_utility = on 是否跟踪非DML语句 (例如DDL,DCL),on表示跟踪, off表示不跟踪
pg_stat_statements.save = on  重启后是否保留统计信息


重启生效


--重启库pg_ctl stop -D /u01/postgre/pgdata/pg_ctl start -D /u01/postgre/pgdata/


也可以通过pg_stat_kcache 加上CPU,IO的支持
软件包:
https://github.com/powa-team/pg_stat_kcache


#编译安装


su - postgres


unzip pg_stat_kcache-master.zip -d /u01/postgre/pg16/share/extension/


cd /u01/postgre/pg16/share/extension/pg_stat_kcache-master
make
make install




-加载动态库
vi /pgdb/data/postgresql.conf


shared_preload_libraries = 'pg_stat_statements,pg_stat_kcache'  # (change requires restart)


--重启库


pg_ctl stop -D /u01/postgre/pgdata/
pg_ctl start -D /u01/postgre/pgdata/


--创建扩展
postgres=# CREATE EXTENSION pg_stat_kcache;
CREATE EXTENSION




执行函数创建快照


SELECT profile.snapshot();


profile.show_samples()函数,查看生成的快照


获取2个时间段之间的AWR报告(18,20为两个快照的ID)


psql -Aqtc "select profile.get_report(18,20)"  -o awr_report_postgres_18_20.html


定时创建快照
#add by pg_awr 每1个小时生成1次快照 0 */1 * * *  /u01/postgre/pg16/bin/psql -p 5439 -c 'SELECT profile.snapshot()' >> /home/postgres/pg_awr.log  2>&1


#add by pg_awr 每半个小时生成1次快照*/30 * * * *  /u01/postgre/pg16/bin/psql -p 5439 -c 'SELECT profile.snapshot()' >> /home/postgres/pg_awr.log  2>&1


后面就是常规的看报告。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 前天 18:30 | 只看该作者
遗憾的是该工具,不支持WINDOWS系统。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-12-27 05:00 , Processed in 0.100358 second(s), 18 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表