PostgreSQL数据库性能监控手段之慢SQL、死锁

2023-11-08

        之前接触PostgreSQL数据库甚少(此前经常使用mysql、db2),直至入职当前某安全公司后,发现数据库都采用PostgreSQL,由于负责性能测试方向,经常需要诊断数据库方面是否存在性能问题,于是整理了PostgreSQL设置慢SQL、查看死锁等常用监控手段。

一、慢SQL设置步骤

1、笔者以工作中使用的docker为例,PostgreSQL版本为9.5:
PostgreSQL正常安装成功后,在docker 的/var/lib/postgresql/9.5/main/postgresql.conf文件中,

添加以下信息,保存并重启PostgreSQL数据库。

#shared_preload_libraries = '' # (change requires restart)
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.max = 1000
pg_stat_statements.track = top

2、在 PostgreSQL库中执行以下SQL:
   CREATE EXTENSION pg_stat_statements;
  
3、初始化信息(清除历史监控信息):
select pg_stat_reset();
select pg_stat_statements_reset();

4、慢SQL查询(TOP 10):

SELECT  query, calls, total_time, (total_time/calls) as average ,rows, 
        100.0 * shared_blks_hit /nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent 
FROM    pg_stat_statements 
ORDER   BY average DESC LIMIT 10;

二、查看是否存在死锁

在 PostgreSQL库中执行以下SQL:

SELECT * FROM pg_stat_activity WHERE datname='数据库名称' and waiting='t';

注:waiting等于t时为死锁

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL数据库性能监控手段之慢SQL、死锁 的相关文章

  • 晶体(crystal、无源晶振)两端电容取值计算

    数字电路中往往会需要一个时钟源 常用的比如晶体振荡器 oscillator 有源晶振 晶体 crystal 无源晶振 等 一般晶体用的更多些 对于晶体来说 一般电路设计时会在晶体两端各接一个电容到地 如下图所示 上面电路中晶体两端的电容是用
  • D类功率放大器

    深度剖析D类功率放大 http DXdlgf 我们知道 功率放大器一般分为甲类 乙类 甲乙类 丙类 丁类 即D类 和戊类等多种工作方式 为了提高功率和效率 一般的方法是降低三极管的静态工作点及由甲类到乙类 甚至到丙类 甲类 乙类 甲乙类的工

随机推荐

  • cublasCgetrfBatched cublasCgetriBatched sample

    This example demonstrates how to use the CUBLAS library by scaling an array of floating point values on the device and c
  • Mysql第三章:存储引擎(MyISAM和Innodb)

    目录 1 什么是存储引擎 2 常用存储引擎 2 1 MyISAM特点 2 2 Innodb特征 2 2 1 Innodb优点 2 2 2 innoDB内存模型 3 MVCC多版本控制器 3 1 首先了解事务ACID 的实现 3 2 首先了解
  • Nginx的配置与部署及例子

    Nginx的配置与部署及例子 1 Nginx程序包 目前最新的开发版本时1 1 12 Linux Unix nginx 1 1 12 tar gz Windows nginx 1 1 12 zip 我们可以下载稳定版尝试 Linux Uni
  • UE4/UE5 使用Unreal Datasmith完全教程

    插件整理下载 点击下载 UE4 4 19 UE5 5 3 官方 入口 Datasmith支持导入Twinmotion Twinmotion教程汇总 2021 4 2 Datasmith安装到4 20 4 23版本 UE4 在4 20 23版
  • iis ajax json,IIS配置jquery ajax、 json,mp4文件支持

    11 条件加载Jquery 如果CDN没有下载到Jquery 则从本地读取 在MIME增加一个Json类型 在MIME增加一个配置如 添加 gt 文件扩展名为 JSON MIME类型为text json 也有将application x j
  • 深度学习的归一化方法

    目录 1 为什么使用 Normalization 2 BatchNorm vs LayerNorm 适用场景 工作原理 3 GroupNorm 本次介绍一下各种归一化方法 包括 BatchNorm LayerNorm InstanceNor
  • 使用albumentations库进行数据增强

    需要注意增强之后以字典键值的形式调用输出 且可以保证img gt的随机增强是一一对应一致的 import albumentations as albu tfrd albu Compose albu HorizontalFlip p 0 5
  • 关于SpringBoot中pom.xml中<plugin>报错

    报错部分代码
  • PTAWindows消息队列c++版——山东科技大学

    题目 消息队列是Windows系统的基础 对于每个进程 系统维护一个消息队列 如果在进程中有特定事件发生 如点击鼠标 文字改变等 系统将把这个消息加到队列当中 同时 如果队列不是空的 这一进程循环地从队列中按照优先级获取消息 请注意优先级值
  • [Tools] SecureCRT文件传输模式介绍

    如下图所示 SecureCRT有5种文件传输模式 1 ASCII 最快的传输模式 但只能传文本 2 Binary 只能传二进制文件 3 Xmodem 非常古老的传输协议速度较慢 但由于使用了CRC错误侦测方法 传输的准确率可高达99 6 4
  • PAT 1103 Integer Factorization

    题目的意思是给定n k p 求是否存在k个正整数 每个数的p次幂相加的结果等于n 有 输出k个数相加的结果最大的那个 如果有多个 输出序列从大到小排最大的那个 从左往右比较 若 i lt l a i
  • 查看端口占用情况(Windows环境)

    查看端口占用情况 1 打开命令窗口 以管理员身份运行 2 查询所有端口的占用情况 3 查看指定端口的占用情况 4 查看是哪个进程或者程序占用了相应的端口 5 解决端口占用问题 1 打开命令窗口 以管理员身份运行 window R组合键 输入
  • C++——RAII机制

    文章目录 我们知道 资源的使用一般经历三个步骤 a 获取资源 b 使用资源 c 销毁资源 资源的销毁往往是程序员经常忘记的一个环节 忘记销毁资源可能会造成内存泄露 怎么解决呢 RAII RAII Resource Acquisition I
  • Nginx配置错误

    漏洞概述 PHPUnit 是 PHP 程式语言中最常见的单元测试 unit testing 框架 通常phpunit使用composer非常流行的PHP依赖管理器进行部署 将会在当前目录创建一个vendor文件夹 phpunit生产环境中仍
  • Django 模型(model)

    目录 前言 一 Django ORM 什么是ORM ORM 解析过程 ORM 对应关系表 二 数据库配置 Django 如何使用 mysql 数据库 三 定义模型 创建 APP 四 定义模型类 数据库表名 关于主键 属性命名限制 字段类型
  • 二、【React拓展】懒加载 lazy

    文章目录 1 适用点 2 汇总 1 适用点 懒加载往往配合路由一起使用 此处修改的项目是 二 React Router5 路由的基本使用 中的项目 首先从react中引入lazy import lazy from react 修改引入路由组
  • 【Windows API】获取卷标、卷名

    1 卷 gt 卷标 使用FindFirstVolume 和FindNextVolume 函数体系 枚举系统所有卷 Volume 的例子 然后获取卷标 卷类型 这个方式可以枚举出没有驱动器号 卷标 的卷 int TestMode1 HANDL
  • 国信证券笔试题总分120分

    国信证券笔试题总分120分 1 选择题60分 20题 单选 10 每题3分 多选 10 每题3分 2 业务题 每题4分总共20分 2 1 post get请求区别 后退按钮 刷新 无害 数据会被重新提交 浏览器应该告知用户数据会被重新提交
  • 微软DeepSpeed Chat震撼发布,一键RLHF训练千亿级大模型

    一键解锁千亿级ChatGPT 轻松省钱15倍 众所周知 由于OpenAI太不Open 开源社区为了让更多人能用上类ChatGPT模型 相继推出了LLaMa Alpaca Vicuna Databricks Dolly等模型 但由于缺乏一个支
  • PostgreSQL数据库性能监控手段之慢SQL、死锁

    之前接触PostgreSQL数据库甚少 此前经常使用mysql db2 直至入职当前某安全公司后 发现数据库都采用PostgreSQL 由于负责性能测试方向 经常需要诊断数据库方面是否存在性能问题 于是整理了PostgreSQL设置慢SQL