PostgreSQL的扩展(extensions)-常用的扩展-pg_stat_monitor

PostgreSQL的扩展(extensions)-常用的扩展-pg_stat_monitor

pg_stat_monitor 是 PostgreSQL 的一个扩展,它提供了一种先进的监控和统计 SQL 查询的方式,相比于标准的 pg_stat_statements,它提供了更丰富和详细的查询统计信息。pg_stat_monitor 通过捕获和分析 SQL 查询的执行情况,帮助数据库管理员优化数据库性能。

安装 pg_stat_monitor

要使用 pg_stat_monitor,你需要首先安装它。本文假设你使用的是 PostgreSQL 13 及以上版本。

  1. 准备环境:确保已经安装了 PostgreSQL 以及 pg_stat_monitor 所需的开发工具。

  2. 安装 pg_stat_monitor

    1. 下载 pg_stat_monitor 的源代码,可以从 GitHub 仓库 获取最新版本。

    2. 编译和安装:

      git clone https://github.com/percona/pg_stat_monitor
      cd pg_stat_monitor
      make
      sudo make install
      
  3. 配置 PostgreSQL

    编辑 postgresql.conf 文件,添加 pg_stat_monitorshared_preload_libraries 配置项中。

    shared_preload_libraries = 'pg_stat_monitor'
    

    配置文件的位置因系统而异,常见路径包括:

    • /etc/postgresql/13/main/postgresql.conf (Debian/Ubuntu)
    • /var/lib/pgsql/13/data/postgresql.conf (Red Hat/CentOS)
  4. 重启 PostgreSQL 服务

    更改配置后,重启 PostgreSQL 使其生效。

    sudo systemctl restart postgresql
    
  5. 创建扩展

    在您希望使用 pg_stat_monitor 的数据库中创建扩展。

    CREATE EXTENSION pg_stat_monitor;
    

使用 pg_stat_monitor

安装和配置完成后,您可以在数据库中使用 pg_stat_monitor 提供的视图进行查询和分析。

查看查询统计信息

pg_stat_monitor 提供了一个名为 pg_stat_monitor 的视图,用于查看 SQL 查询的统计信息。

SELECT * FROM pg_stat_monitor;
常见查询示例
  1. 按查询 ID 查看执行次数和平均执行时间

    SELECT queryid, exec_count, round(total_time / exec_count, 2) AS avg_time_ms
    FROM pg_stat_monitor
    ORDER BY avg_time_ms DESC
    LIMIT 10;
    
  2. 按用户查看查询分布

    SELECT userid, count(*) AS query_count
    FROM pg_stat_monitor
    GROUP BY userid
    ORDER BY query_count DESC;
    
  3. 查看特定时间段内的查询

    SELECT bucket, query, calls, total_exec_time
    FROM pg_stat_monitor_bucket
    WHERE bucket BETWEEN NOW() - interval '1 hour' AND NOW();
    

配置 pg_stat_monitor

pg_stat_monitor 有多个配置参数,可以在 postgresql.conf 中进行调整以适应具体需求。以下是一些常用的配置项:

  • pg_stat_monitor.pgsm_max:设置 pg_stat_monitor 用于追踪 SQL 语句的条目数。
  • pg_stat_monitor.pgsm_bucket_time:设置时间段(以秒为单位),在该时间段后 pg_stat_monitor 将统计信息转储到下一个 bucket。
  • pg_stat_monitor.pgsm_query_max_len:设置监控的查询文本的最大长度。

示例配置:

pg_stat_monitor.pgsm_max = 10000
pg_stat_monitor.pgsm_bucket_time = 60
pg_stat_monitor.pgsm_query_max_len = 2048

小结

通过 pg_stat_monitor,您可以更深入地了解 PostgreSQL 数据库的查询性能,并为优化数据库提供具体的数据支持。下面是确保 pg_stat_monitor 工作正常的基本步骤:

  1. 安装 pg_stat_monitor 扩展。
  2. postgresql.conf 中添加 pg_stat_monitorshared_preload_libraries
  3. 重启 PostgreSQL 服务。
  4. 在目标数据库中创建 pg_stat_monitor 扩展。
  5. 使用提供的视图和查询语句获取和分析 SQL 查询的统计信息。

通过这些步骤和配置,pg_stat_monitor 将成为数据库性能优化和监控的强大工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/26405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机流畅运行470亿参数大模型,上交大发布PowerInfer-2推理框架,性能提升29倍

苹果一出手,在手机等移动设备上部署大模型迅速成为行业焦点。 目前,移动设备上运行的模型相对较小(苹果的是3B,谷歌的是2B),并且消耗大量内存,这在很大程度上限制了其应用场景。 即使是苹果&…

linux中: IDEA 由于JVM 设置内存过小,导致打开项目闪退问题

1. 找到idea安装目录 由于无法打开idea,只能找到idea安装目录 在linux(debian/ubuntu)中idea的插件默认安装位置和配置文件在哪里? 默认路径: /home/当前用户名/.config/JetBrains/IntelliJIdea2020.具体版本号/options2. 找到jvm配置文件 IDEA安装…

MNIST手写字符分类-卷积

MNIST手写字符分类-卷积 文章目录 MNIST手写字符分类-卷积1 模型构造2 训练3 推理4 导出5 onnx测试6 opencv部署7 总结 在上一篇中,我们介绍了如何在pytorch中使用线性层ReLU非线性层堆叠的网络进行手写字符识别的网络构建、训练、模型保存、导出和推理测试。本篇文…

北京Web前端薪资揭秘:从行业趋势到个人成长

北京Web前端薪资揭秘:从行业趋势到个人成长 在科技飞速发展的今天,Web前端作为互联网行业的核心岗位之一,其薪资水平一直备受关注。尤其是在北京这样的一线城市,Web前端工程师的薪资更是成为了人们热议的话题。那么,北…

Redis高性能原理:Redis为什么这么快?

目录 前言: 一、Redis知识系统观 二、Redis为什么这么快? 三、Redis 唯快不破的原理总结 四、Redis6.x的多线程 前言: Redis 为了高性能,从各方各面都进行了优化。学习一门技术,通常只接触了零散的技术点&#xff…

解决linux jenkins要求JDK版本与项目版本JDK不一致问题

背景–问题描述: 新入职公司,交接人说jenkins运行有问题,现在都是手动发布,具体原因让我自己看(笑哭)。我人都蒙了,测试环境都手动发布,那不是麻烦的要死! 接手后&am…

代码随想录算法训练营第36天 [860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球 ]

代码随想录算法训练营第36天 [860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球 ] 一、860.柠檬水找零 链接: 代码随想录. 思路:十块只能找五块,二十能找十块五块和三个五块,优先消耗十块 做题状态:看解析后做出…

推荐几款短链接工具系统软件

1、C1N短网址(c1n.cn) 为了提升你的品牌并吸引新的受众,C1N短网址可以帮助你以最简单的方式进行科学分析、决策和促进变革。帮助您真正了解客户并促进转型,C1N短网址,它不仅是一种工具,也是一种专业服务。该品牌成立于2018年&…

引入tinyMCE富文本框在vue3中的使用

实现效果: 官网地址:TinyMCE 7 Documentation | TinyMCE Documentation 1.下载依赖(我使用的版本是5.0 目前最新版本到7了) pnpm/npm install tinymce5.0.0 -S pnpm/npm install tinymce/tinymce-vue -S 2.在public文件夹下…

数字化制造案例分享以及数字化制造能力评估(34页PPT)

资料介绍: 通过全面的数字化企业平台和智能制造技术的应用,制造型企业不仅提升了自身的竞争力,也为整个制造业的数字化转型提供了借鉴。同时,数字化制造能力的评估是企业实现数字化转型的关键环节,需要从技术变革、组…

Javaweb05-会话技术(cookie,session)

会话及会话技术 **概念:**在web开发中,服务器跟踪用户的技术为会话技术 Cookie对象 1.Cookie的工作流程 cookie可以将会话中的数据保存在浏览器中,通过在响应中添加Set-Cookie头字段将数据保存在自身的缓存中去cookie由浏览器创建cookie在…

pydantic 生成 json-schema,导入yapi

python 去除allOf def replace_anyof(data):if isinstance(data, dict):if "allOf" in data:data.update(data.pop("allOf")[0])for _, v in data.items():replace_anyof(v)elif isinstance(data, list):for v in data:replace_anyof(v)else:returnschema…

Axios 二次封装详解

Axios 二次封装详解 在前端开发中,经常需要对网络请求进行一些定制化的处理。以下是关于一个 Axios 二次封装的详细介绍。 我一般把以下代码放到utils目录下创建request.js文件,以下是部分关键代码示例: //引用axios实例 import axios fro…

【学习笔记】C++每日一记[20240612]

给定两个有序的数组,计算两者的交集 给定两个有序整型数组,数组中 的元素是递增的,且各数组中没有重复元素。 第一时间解法:通过一个循环扫描array_1中的每一个元素,然后利用该元素去比较array_2中的每一个元素&…

采用沙普利值(Shapley value)实现了数据供给方报酬分配的公平性.

目录 采用沙普利值(Shapley value)实现了数据供给方报酬分配的公平性. 采用沙普利值(Shapley value)实现了数据供给方报酬分配的公平性. 采用沙普利值(Shapley value)实现数据供给方报酬分配的公平性,在交易模型中考虑参与个体的异质性与隐私保护,主要体现在以下几个方面…

LeetCode-day11-2813. 子序列最大优雅度

LeetCode-day11-2813. 子序列最大优雅度 题目描述示例示例1:示例2:示例3: 思路代码 题目描述 给你一个长度为 n 的二维整数数组 items 和一个整数 k 。 items[i] [profiti, categoryi],其中 profiti 和 categoryi 分别表示第 i…

<Python><opencv><TesseractOCR>基于python和opencv,使用ocr识别图片中的文本并进行替换

前言 本文是在python中,利用opencv处理图片,利用tesseractOCR来识别图片中的文本并进行替换的一种实现方法。 环境配置 系统:windows 平台:visual studio code 语言:python 库:pyqt5、opencv、tesseractOCR 代码介绍 本文程序功能实现,主要依赖于tesseractOCR这个库,…

遥控器无法点击AOSP Settings 的管理存储按钮 MANAGE STORAGE

前言 这里是遇到了MANAGE STORAGE的按钮使用遥控器移动的时候无法聚焦到这个按钮,自然也就无法点击。它只能聚焦到这一整个整体,因此我就设置当点击到这一整个整体时,就相应MANAGE STORAGE按钮的点击事件。 图片 代码 packages/apps/Setti…

探索在线问诊系统的安全性与隐私保护

随着远程医疗的普及,在线问诊系统成为医疗服务的重要组成部分。然而,随着医疗数据的在线传输和存储,患者的隐私保护和数据安全面临巨大挑战。本文将探讨在线问诊系统的安全性与隐私保护,介绍常见的安全措施和技术实现,…

图片转Excel表格:提升数据处理效率的利器

在日常工作和生活中,我们经常遇到各种数据和信息以图片的形式存在。有时,这些数据图片中包含了重要的表格信息,例如财务报告、统计数据或调研结果。为了对这些数据进行进一步的分析和处理,我们需要将其转换为可编辑的电子表格格式…