Postgre 调优工具pgBadger部署
一,简介:
pgBadger(日志分析器)类似于oracle的AWR报告(基于1小时,一天,一周,一月的报告),以图形化的方式帮助DBA更方便的找到隐含问题。
pgbadger是为了提高速度而构建的,具有来自pg日志文件的完整报告,他是一个小型的Perl脚本(linux需要安装perl),性能优于任何其他pg日志分析器。
pgBadger 可以自动检测日志文件格式( syslog、 stderr、 csvlog或 jsonlog)。它被设计用来解析巨大的日志文件和压缩文件。支持的压缩格式有gzip、bzip2、lz4、xz、zip和zstd。
还可以使用命令行选项将 pg Badger限制为仅报告错误或删除报告(可以自定义)的任何部分。
pgbadger支持在 postgresql. conf文件中通过 log_ line_ prefix自定义的任何格式,只要它至少指定%t和%p模式。
pgbadger允许通过使用指定CPU数量的j选项并行处理单个日志文件或多个文件。
如果要保存系统性能,也可以使用 log_ duration替代 og_min_ duration_statement来仅报告持续时间和查询数。
二,特性
三,报告模式
四,部署
perl Makefile.PL 这个时候可能报一个错:
yum -y install perl-ExtUtils-MakeMaker 再次执行perl Makefile.PL

make && make install 
五,配置postgresql.conf配置
--目的只要是为了让pg主动收集日志,PG中的日志分为三种,log,clog,xlog,运行日志log默认不打开。






这个参数默认-1不记录,改成0,把所有sql语句记下来,如果改成30,则把慢于30ms的sql记下来,与慢sql原理相同。
根据提示修改后重启pg。


可以看到data目录下已经有了pg_log。
六,如何产生报告
方式一:当有许多小的日志文件和许多CPU时,一次将一个内核专用于ー个日志文件会更快要启用此行为,必须改用-N选项。对于每个10MB的200个日志文件,-J选项的使用开始变得非常有效,有8个内核。使用此方法,您将确保不会丢失报表中的任何查询。个在服务器上完成的基准测试,有8个CPU和9.5GB的单个文件。

可以看到,并行可以大量缩短产生分析日志时间。
方式二:产生大量日志,通过阐述log_rotation_size 参数控制,刚才在配置文件中已经配置过,意思就是到了10M就重新生成一个文件。

两种方式各有优缺点,我选用第二种方法,日志记录在我们自己定义的目录pg_log下。

每次登录和执行sql语句都会被记下来(和oracle种的enable_ddl_logging感觉差不多)

产生报告:产生一个小时的报告(可以选中不同日志产生不同时间段内的报告)pgbadger -q /usr/local/pgsql/data/pg_log/postgresql-2024-06-16_05*.log \-o /home/postgres/www/pg_reports/day-06-16-05.html 产生每日和每周的日志报告:pgbader -I -q /usr/local/pgsql/data/pg_log/* \-O /home/postgres/www/pg_reports/ \-f stderr在这种模式下, pgbadger将在输出目录中创建一个自动增量文件。这意味着可以在每周旋转的日志文上每天以这种模式运行 pgbadger,并且它不会对日志条目计数两次可以使用 crontab进行定时运行。 


也可以给他指定并行,加快分析流程:
给8个cpu并行分析:
pgbadger -j 8 -q /usr/local/pgsql/data/pg_log/postgresql-2024-06-16_05*.log \-o /home/postgres/www/pg_reports/day-06-16-05.html 
看一下界面:这个数据库并没有用过,所以生成是空的

写几个语句再看看

相关文章:
Postgre 调优工具pgBadger部署
一,简介: pgBadger(日志分析器)类似于oracle的AWR报告(基于1小时,一天,一周,一月的报告),以图形化的方式帮助DBA更方便的找到隐含问题。 pgbadger是为了提高…...
【云原生】Kubernetes----Helm包管理器
目录 引言 一、Helm概述 1.Helm价值概述 2.Helm的基本概念 3.Helm名词介绍 二、安装Helm 1.下载二进制包 2.部署Helm环境 3.添加补全信息 三、使用Helm部署服务 1.创建chart 2.查看文件信息 3.安装chart 4.卸载chart 5.自定义chart服务部署 6.版本升级 7.版本…...
Bootstrap 5 进度条
Bootstrap 5 进度条 引言 Bootstrap 5 是目前最流行的前端框架之一,它提供了一套丰富的组件和工具,帮助开发者快速构建响应式、移动设备优先的网页。在本文中,我们将重点探讨 Bootstrap 5 中的进度条组件,包括其基本用法、定制选…...
MySQL查询数据库中所有表名表结构及注释以及生成数据库文档
MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面!!! select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …...
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案 引言 Redis作为当前非常流行的内存数据结构存储系统,以其高性能和灵活性被广泛应用于缓存、消息队列、排行榜等多种场景。然而,在实际使用过程中,可能会遇到缓存穿透、缓存雪崩和缓存击穿等问…...
如何解决javadoc一直找不到路径的问题?
目录 一、什么是javadoc二、javadoc为什么会找不到路径三、如何解决javadoc一直找不到路径的问题 一、什么是javadoc Javadoc是一种用于生成Java源代码文档的工具,它可以帮助开发者生成易于阅读和理解的文档。Javadoc通过解析Java源代码中的注释,提取其…...
redis 笔记2之哨兵
文章目录 一、哨兵1.1 简介1.2 实操1.2.1 sentinel.conf1.2.2 问题1.2.3 哨兵执行流程和选举原理1.2.4 使用建议 一、哨兵 1.1 简介 上篇说了复制,有个缺点就是主机宕机之后,从机只会原地待命,并不能升级为主机,这就不能保证对外…...
LVS+Keepalived NGINX+Keepalived 高可用群集实战部署
Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 VRRP协议(虚拟路由冗余协议) 是针对路由器的一种备份解决方案由多台路由器组成一个热备组,通过共用的…...
Mybatis做批量操作
动态标签foreach,做过批量操作,但是foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法: 在获取opensession对象…...
Python | 中心极限定理介绍及实现
统计学是数据科学项目的重要组成部分。每当我们想从数据集的样本中对数据集的总体进行任何推断,从数据集中收集信息,或者对数据集的参数进行任何假设时,我们都会使用统计工具。 中心极限定理 定义:中心极限定理,通俗…...
探索Napier:Kotlin Multiplatform的日志记录库
探索Napier:Kotlin Multiplatform的日志记录库 在现代软件开发中,日志记录是不可或缺的部分,它帮助开发者追踪应用的行为和调试问题。对于Kotlin Multiplatform项目而言,能够在多个平台上统一日志记录的方法显得尤为重要。Napier…...
MySQL基础——SQL语句
目录 1.SQL通用语法 2.SQL分类 3 DDL 3.1数据库操作 3.1.1查询 3.1.2创建 3.1.3删除 3.1.4使用 3.2表操作 3.2.1查询 3.2.2创建 3.2.3数据类型 3.2.4表修改(alter打头) 3.2.5表删除(drop/truncate打头) 3.3 DDL总结…...
比特币通用API服务
Bitcoin 通用API服务 exlectrs: API后台服务(Rust语言编写) https://github.com/Blockstream/electrs.git 使用electr作为后台的区块链浏览器:https://github.com/Blockstream/esplora.git https://github.com/Blockstream/electrs https://github.com/romanz/electrs/blo…...
Spock mock私有方法
mock私有方法 被测试的方法是MiddleGroundAppListBO类下的getPromptIdKeyAppPromptInfoMap方法 private Map<Long, AppPromptInfoModel> getPromptIdKeyAppPromptInfoMap(String cubeAppIdentity) {List<AppPromptInfoDO> promptByApp knowledgeCubeQueryR…...
网络协议四
一、云中网络 物理机的劣势: 1)一旦需要扩容 CPU、内存、硬盘,都需要去机房手动弄,非常麻烦 2)采购的机器往往动不动几百 G 的内存,而每个应用往往可能只需要 4 核 8G 3)一台机器,…...
大数据入门实践一:mac安装Hadoop,Hbase,FLume
一、安装Hadoop 安装hadoop参考此文,关键点是安装JDK和Hadoop的配置,为避免引用文章变收费,我把关键信息摘录如下: jdk安装和配置就不说了(我本机安装了1.8/15/17/21,以17为主),hadoop安装过程…...
openGauss 6.0.0 一主二备集群安装及使用zcbus实现Oracle到openGauss的数据同步
一、前言 openGauss 6.0.0-RC1是openGauss 2024年3月发布的创新版本,该版本生命周期为0.5年。根据openGauss官网介绍,6.0.0-RC1与之前的版本特性功能保持兼容,另外,在和之前版本兼容的基础上增加了很多新功能,比如分区表性能优化…...
0118__C语言——float.h文件
C语言——float.h文件_c float.h-CSDN博客...
settings和toolchains.xml 区别用法配置
在 IntelliJ IDEA 中配置 Maven 项目时,settings.xml 和 toolchains.xml 的使用场景有所不同。以下是具体的使用情景和配置方法: 1. 使用 settings.xml 使用场景 全局或用户级别的配置:包括设置本地仓库位置、远程仓库、代理服务器、认证信…...
leetcode打卡#day43 携带研究材料(第六期模拟笔试)、416. 分割等和子集
携带研究材料(第六期模拟笔试) #include<iostream> #include<algorithm> #include<vector>using namespace std;int getMaxValue(vector<int>& weights, vector<int>& values, int n, int m) {vector<vector&…...
告别虚拟机卡顿:在 Windows WSL2 的 Kali 子系统中配置 Pwn 调试环境
告别虚拟机卡顿:在 Windows WSL2 的 Kali 子系统中配置 Pwn 调试环境 对于安全研究人员和 CTF 爱好者来说,Kali Linux 是必不可少的工具集。然而,传统的虚拟机方案常常面临性能瓶颈——内存占用高、启动速度慢、与主机系统交互不便。WSL2 的出…...
DRAM读干扰机制:RowHammer与RowPress的实验研究
1. DRAM读干扰问题概述DRAM(动态随机存取存储器)是现代计算系统中最主要的主存技术,其可靠性和安全性对整个系统的稳定运行至关重要。然而,DRAM存在一个被称为"读干扰"(Read Disturbance)的固有缺…...
3.【Python】Python3 数据类型转换
第一步:分析与整理数据类型转换1. 数据类型转换概述 数据类型转换分为两种: 隐式类型转换:Python 自动完成,无需干预。显式类型转换:使用内置函数手动转换。2. 隐式类型转换 规则:当不同类型的数据进行运算…...
从Starpod项目解析个人AI工作流引擎:架构、实现与应用
1. 项目概述:从“星荚”到个人AI工作流引擎最近在AI工具圈里,一个名为sinaptik-ai/starpod的项目引起了我的注意。乍一看这个标题,可能会觉得有些抽象——“星荚”是什么?AI“豆荚”?但当你深入其GitHub仓库࿰…...
二维码扫描模块价格解析:从几十元到上千元,如何根据应用场景选型?
1. 项目概述:解码二维码扫描模块的价格迷思每次和做硬件集成的朋友聊天,或者接到客户关于自助终端、智能门禁的咨询,总绕不开一个最实际的问题:“你们用的那个扫码模块,到底多少钱一个?” 这问题看似简单&a…...
从DSB到SSB:用MATLAB图解通信中的‘频谱减肥’术(单边带调制原理可视化)
从DSB到SSB:用MATLAB图解通信中的‘频谱减肥’术 想象一下,你正在参加一场热闹的派对,房间里挤满了人,大家都在高声交谈。突然,主持人宣布要节省空间,要求所有人只能站在房间的左侧或右侧——这就是单边带调…...
Hermes Agent框架对接Taotoken聚合API的详细配置步骤指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Hermes Agent框架对接Taotoken聚合API的详细配置步骤指南 1. 准备工作 在开始配置之前,你需要准备好两样东西…...
中小团队在ubuntu服务器利用taotoken管理多项目api密钥与用量
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 中小团队在 Ubuntu 服务器利用 Taotoken 管理多项目 API 密钥与用量 在 Ubuntu 服务器上运行多个 AI 实验项目是许多中小型技术团队…...
Lyrebird常见问题排查手册:解决无法启动和音频延迟的终极方案
Lyrebird常见问题排查手册:解决无法启动和音频延迟的终极方案 【免费下载链接】lyrebird 🦜 Simple and powerful voice changer for Linux, written with Python & GTK 项目地址: https://gitcode.com/gh_mirrors/lyr/lyrebird Lyrebird是一…...
被论文压到喘不过气?Paperxie 本科论文功能,把你的毕业节奏拉回正轨
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 毕业季的焦虑,一半来自答辩,一半来自毕业论文。选题卡壳、文献找不全、格式改到崩溃、写了…...
