pg_stat_statement如何安装部署使用

2023-11-18

pg_stat_statements模块提供一种跟踪执行统计服务器执行的所有SQL语句的手段。该模块默认是不开启的,如果需要开启需要我们手动对其进进行编译安装,修改配置文件并重启数据库,并在使用前手动载入该模块。

1、手动对pg_stat_statement模块进行编译安装

-- 进入pgsql软件的contrib目录下,查看是否有pg_stat_statements相关模块
# pwd
/usr/local/postgresql-12.2/contrib
# ls | grep pg_stat_statements
pg_stat_statements

-- 进入pg_stat_statement模块目录下进行编译安装
# make && make install

-- 检查pg_stat_statement是否安装成功
# cd /usr/local/pgsql/share/extension/
# ll | grep pg_stat_statements
-rw-r--r-- 1 root root  1246 10月 25 15:46 pg_stat_statements--1.0--1.1.sql
-rw-r--r-- 1 root root  1336 10月 25 15:46 pg_stat_statements--1.1--1.2.sql
-rw-r--r-- 1 root root  1454 10月 25 15:46 pg_stat_statements--1.2--1.3.sql
-rw-r--r-- 1 root root   345 10月 25 15:46 pg_stat_statements--1.3--1.4.sql
-rw-r--r-- 1 root root   305 10月 25 15:46 pg_stat_statements--1.4--1.5.sql
-rw-r--r-- 1 root root  1427 10月 25 15:46 pg_stat_statements--1.4.sql
-rw-r--r-- 1 root root   376 10月 25 15:46 pg_stat_statements--1.5--1.6.sql
-rw-r--r-- 1 root root   806 10月 25 15:46 pg_stat_statements--1.6--1.7.sql
-rw-r--r-- 1 root root   191 10月 25 15:46 pg_stat_statements.control
-rw-r--r-- 1 root root   449 10月 25 15:46 pg_stat_statements--unpackaged--1.0.sql

2、修改数据库配置文件postgres,允许pg_stat_statements模块加载到共享内存中

-- 修改配置文件
# vi postgres.conf
shared_preload_libraries='pg_stat_statements,pg_pathman'
pg_stat_statements.max = 10000
pg_stat_statements.track = all

3、重启数据库,登录数据库后加载pg_stat_statement模块

-- 重启数据库
# su - postgres
$ pg_ctl -D /data/pgsql12/data restart

-- 登录数据库,载入pg_stat_statement模块
postgres=# SELECT * FROM pg_available_extensions WHERE name = 'pg_stat_statements';               //查看可用模块
-[ RECORD 1 ]-----+----------------------------------------------------------
name              | pg_stat_statements
default_version   | 1.7
installed_version |
comment           | track execution statistics of all SQL statements executed

postgres=# create extension pg_stat_statements;         //载入模块,载入后pg_stat_statements表可正常使用
CREATE EXTENSION

4、pg_stat_statements表的使用

postgres=# select * from  pg_stat_statements limit 1;
-[ RECORD 1 ]-------+------------------------------------------------------------------------
userid              | 10                        //用户id
dbid                | 13547                     //数据库oid
queryid             | 1194713979                //查询id
query               | SELECT * FROM pg_available_extensions WHERE name = 'pg_stat_statements'   //查询SQL
calls               | 1                         //调用次数
total_time          | 53.363875                 //SQL总共执行时间
min_time            | 53.363875                 //SQL最小执行时间
max_time            | 53.363875                 //SQL最大执行时间
mean_time           | 53.363875                 //SQL平均执行时间
stddev_time         | 0                         //SQL花费时间的表中偏差
rows                | 1                         //SQL返回或者影响的行数
shared_blks_hit     | 1                         //SQL在在shared_buffer中命中的块数
shared_blks_read    | 0                         //SQL从page cache或者磁盘中读取的块数
shared_blks_dirtied | 0                         //SQL语句弄脏的shared_buffer的块数
shared_blks_written | 0                         //SQL语句写入的块数
local_blks_hit      | 0                         //临时表中命中的块数
local_blks_read     | 0                         //临时表需要读的块数
local_blks_dirtied  | 0                         //临时表弄脏的块数
local_blks_written  | 0                         //临时表写入的块数
temp_blks_read      | 0                         //从临时文件读取的块数
temp_blks_written   | 0                         //从临时文件写入的数据块数
blk_read_time       | 0                         //从磁盘或者读取花费的时间
blk_write_time      | 0                         //从磁盘写入花费的时间
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pg_stat_statement如何安装部署使用 的相关文章

随机推荐

  • Hash table and application in java

    查找的效率取决于在查找是比较的次数 次数越少效率越高 反之越低 最理想的情况是无需比较 一次存取便能找到所查找的记录 根据对应关系f找到给定值K的像f K hash function 应运而生 由此思想建的表称为hash table 集合h
  • MySQL 文本字符串

    mysql文本字符串主要包括 CHAR VARCHAR TINYTEXT TEXT MEDIUMTEXT LONGTEXTENUM SET 等类型 char用于储存固定长度的字符串 定长就是电话号码 一般需要声明字符串长度 如果你没有声明它
  • vue基于threejs实现的3D可视化编辑器

    随着5G网络的渐渐普及 物联网在人们的生活中渐渐广泛使用 社会向着越来越智能化的方向发展 当康科技经过不懈努力 研发属于自己的一款3D可视化编辑器 助力企业应用实现3D可视化服务 编辑器界面如下 操作视频演示 3D可视化编辑器v1 0版本完
  • styled-components组件升级v4版本的全局样式踩坑

    注 本文使用ES6 Module模块化 框架选用React 最新版的 styled components v4 已经将原有的 injectGlobal 方法替换成了 createGlobalStyle 而且用法也和之前的 injectGlo
  • C++任意数字类型转 2进制、8进制、16进制

    C 任意数字类型转 2进制 8进制 16进制 平时我们在写程序的过程中会经常碰见进制转换的操作 偶尔写一次还好每次写 我们都又要重新定义函数进行转换 在这里博主就分享一下我自己编写的一个进制转换的方法吧 也比较通用 如没有耐心可以直接跳过思
  • 强化学习笔记3 回报和价值函数

    学习张斯俊和王树森两位大佬的专栏和课程后记的笔记 这篇笔记里面有一些个人理解 如有不对 欢迎大家指正 回报return 上一篇说过奖励reward 奖励是指当前状态S下 选择动作A 环境将会反馈回奖励R 我们利用R作为智能体学习的引导 希望
  • 【laravel5.6】The Process class relies on proc_open, which is not available on your PHP installation....

    部署服务器的时候 使用composer来安装依赖 遇到了 解决办法 在php ini中 找到disable functions选项 看看后面是否有proc open函数被禁用了 如果有的话 去掉即可 转载于 https www cnblog
  • Object.setPrototypeOf()

    Object setPrototypeOf 子对象 父对象 运行结束后 子对象 proto 指向 父对象 setPrototypeOf就是更换对象的 原型对象
  • 矩阵求导常用公式

    矩阵求导常用公式 1 引言 2 向量的导数 2 1 向量对标量求导 Vector by scalar 2 2 标量对向量求导 Scalar by vector 2 3 向量对向量求导 Vector by vector 3 矩阵的导数 3 1
  • 2022-05-14 Unity核心7——2D动画

    文章目录 一 序列帧动画 二 骨骼动画 2D Animation 三 反向动力学 IK 四 换装 五 骨骼动画 Spine 一 序列帧动画 一 什么是序列帧动画 我们最常见的序列帧动画就是我们看的日本动画片 以固定时间间隔按序列切换图片 就
  • 前端实现轮播图

    提示 实现轮播图效果有三种实现方式 一是通过纯css实现 二是通过jQuery实现 三是通过swiper插件实现 tips 可以用自己爱豆的图片 感觉简直不要太好 目录 前言 一 HTML部分 二 JS部分 提示 layer插件 盒子阴影
  • 机器学习或者机器视觉代码讲解视频教程

    当涉及到机器学习和机器视觉的代码讲解的视频教程时 以下是一些常见的在线教育平台和资源 提供了详细的代码讲解 Coursera https www coursera org Coursera上有一些知名的机器学习和计算机视觉课程 例如Andr
  • 小米手机上锁BL锁方法

    1 确保手机处于开发者模式 已打开USB调试 同时按住开机键 音量下键进入fastboot模式 使用usb数据线连接电脑 2 下载官方解锁工具miflash unlock xxxxxxxx zip 3 将miflash unlock xxx
  • NO.0 区块链,之我见前言

    区块链这个词 想必大家不会陌生 在如今爆炸式的信息时代 时不时的会在某个新闻推送 某个朋友圈分享 某个头条等直接或间接 主动或被动的有所耳闻 鉴于本人从事计算机软件开发方面职业的关系 时常会有一些朋友来问我一些关于区块链 比特币 ICO 交
  • 测试用例方法边界值

    测试用例方法边界值 什么是边界值方法 等价类重点是整体是否有效 边界值更多关注数值边界是否有效 边界值编写方法分析思路 1 找到符号产品需求的数值范围 2 确定有效的数值范围 3 根据有效的数值范围查找无效的数值范围 4 编写数值范围对应的
  • APK反编译之一:基础知识

    APK反编译之一 基础知识 本人接触不久 有错误望请各位神牛不吝赐教 仅仅希望把自己这段时间研究的东西分享一下 如果可以帮助到有需要的童鞋万感荣幸 欢迎评论转载 但请加上转载来源谢谢 请尊重开发者劳动成果 请勿用于非法用途 作者 lpohv
  • 自学Java没学历可以找到工作吗?

    除非技术真的diao 炸 天 否则大概率是找不到的 低学历能自学编程的人大有人在 你在搜索引擎上一查 低学历自学编程改变自身命运的不胜枚举 但无一不例外的 每个求学者的叙述都透漏着心酸 艰难困苦 披荆斩棘 这些词 说来容易 听来简单 但真正
  • ctfshow web由一道题的思路实现通杀

    ctfshow萌新计划 根据web1的几个解法思路我实现了对后面几道题的通杀 仔细想想感觉对于我这样的新手来说这几题还不错 题目一 web1 代码很安全 没有漏洞 打开题目很显然这一题考察的是代码审计 我们把代码粘贴下来审计一波
  • C#IList与List区别[转]

    首先IList 泛型接口是 ICollection 泛型接口的子代 并且是所有泛型列表的基接口 它仅仅是所有泛型类型的接口 并没有太多方法可以方便实用 如果仅仅是作为集合数据的承载体 确实 IList
  • pg_stat_statement如何安装部署使用

    pg stat statements模块提供一种跟踪执行统计服务器执行的所有SQL语句的手段 该模块默认是不开启的 如果需要开启需要我们手动对其进进行编译安装 修改配置文件并重启数据库 并在使用前手动载入该模块 1 手动对pg stat s