pg_pdr的生成方式

文章目录

文档用途

该文档主要介绍pg_pdr以及生成方式。

详细信息

1.pg_pdr介绍

瀚高数据库企业版V5提供了类似Oracle数据库AWR报告的性能诊断报告(Performance Diagnosis Report),以下简称 PDR。

2.pg_pdr的配置

配置数据库参数文件:

shared_preload_libraries = 'worker_pg_pdr,pg_stat_statements,pg_wait_sampling'

PDR 的正常使用需要加载这三个库文件

pg_pdr.naptime = 60

PDR 快照的产生间隔,单位为分钟,默认为 60 分钟产生一次快照。Naptime=0 时,代表不启用 PDR 功能。

pg_pdr.naplife = 7

PDR 快照的保存时间,单位为天,默认保存最近 7 天的快照。超过 naplife 的快照,会自动删除。

pg_pdr.napdb = 'highgo'

用于保存 PDR 快照数据表的数据库,默认设置为 highgo 数据库。

注意事项:

PDR 的相关参数发生修改,需要重启数据库才生效。

PDR快照数据表保存的数据库如果为新创建的库,需要dba手动连接一次新创建的库。

3.pg_pdr的使用

初次安装和使用 PDR 功能时,采集的第一个快照id是0。

用户可以用于生成性能分析报告的快照 id是从1开始的。每拍一次快照,id加1。

生成快照的时机有两种:

一是计划时间到期(默认 1 小时),自动拍摄快照。

二是用户使用 pg_pdr_new_snap()函数手工拍快照。

自动快照:

在数据库启动1分钟后自动产生一次快照,然后根据配置文件中的 pg_pdr.naptime 自动产生后续快照,无需操作。

手动快照:

在psql中输入 select pg_pdr_new_snap()即可产生一次快照。

psql 返回 t,表示生成快照成功。

psql 返回 f,表示生成快照失败。

4.生成性能分析报告

使用 pdr_report 命令,可以生成 PDR 报告。

PDR生成的快照存储在napdb配置的数据库中,快照包含整个数据集簇中所有数据库的性能信息。

生成 PDR 报告时,需要选择集簇中的一个数据库作为报告目标数据库名,只生成一个数据库的报告。

按照提示,依次输入数据库用户名,数据库用户密码,快照存储数据库名,报告目标数据库名,开始快照 id,结束快照 id,报告文件名。

完成以上输入,即可生成报告。

性能分析报告为 html 网页格式,可在浏览器中打开和使用。

注意:

1.PDR保存快照的数据表为_pg_pdr_.pdrdb , pg_pdr .pdrtable , pg_pdr .pdrsql , pg_pdr.pdrwait。

这四个数据表不可修改表结构,不可修改删除数据,否则将导致无法生成性能分析报告或者生成的性能分析报告不准确。

如果因意外情况导致这四个数据表的数据被修改,无法生成准确的性能分析报告,

可删除这四张数据表并重启数据库,由快照id=0开始生新生成快照。

2.快照与结束快照期间发生过数据库重启,将无法生成性能分析报告。

dr_report 命令时,会分屏列出当前快照存储数据库和报告目标数据库拥有的所有快

照 id,此时可使用 Enter 键显示下一行快照 id,可使用空格键显示下一屏快照 id,

可使用q键停止显示剩余的快照 id。

相关推荐
剩下了什么13 分钟前
MySQL JSON_SET() 函数
数据库·mysql·json
山峰哥43 分钟前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
较劲男子汉1 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
java搬砖工-苤-初心不变1 小时前
MySQL 主从复制配置完全指南:从原理到实践
数据库·mysql
山岚的运维笔记3 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里4 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科4 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦4 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
晚霞的不甘5 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位6 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全