Postgresql 模块插件之pg_stat_statements

这篇具有很好参考价值的文章主要介绍了Postgresql 模块插件之pg_stat_statements。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相关链接:
pgsql编译安装
pgBouncer连接池

一、说明

pg_stat_statements 提供了跟踪服务器执行的所有 SQL 语句的规划和执行统计信息的方法。当 pg_stat_statements 处于活动状态时,它会跟踪服务器上所有数据库的统计信息。该模块收集到的统计数据可以通过一个名为 pg_stat_statements 的视图进行访问。

官方文档:pg_stat_statements文档

二、插件安装启动

(一)编译安装

源码在pgsql包里就提供了,可以在编译pgsql的时候就安装,也可以随后编译

1.进入到pgsql安装包目录

只需要编译这个组件就行,进入到解压的pgsql安装包目录

cd /usr/local/postgresql-xxx

该插件是自带的

cd contrib/pg_stat_statements

2.编译安装

make && make install

(二)修改配置文件

1.编辑postgresql.conf文件

默认编译安装后的目录为下面的,如果不是用的默认,使用find查找

vi /var/pgsqldata/postgresql.conf

找到 Add settings for extensions here,在下面写插件的参数

2.添加以下内容

具体每条有说明

## 加载模块
shared_preload_libraries='pg_stat_statements'
 
## 跟踪IO消耗的时间
track_io_timing = on

## 单条SQL的最长长度
track_activity_query_size = 2048

## 最多保留多少条信息
pg_stat_statements.max = 10000           

## 嵌套sql设置
## 参数值:all - (所有SQL), top-函数内的sql不被跟踪, none - (不跟踪)
pg_stat_statements.track = all           

## 是否跟踪非DML语句
pg_stat_statements.track_utility = off   

## 重启后是否保留统计信息  
pg_stat_statements.save = on             

3.重启pgsql

systemctl restart pgsql

(三)启用插件并检查

1.在需要的数据库中启用

使用pgsql管理工具或者在psql命令行里输入

create extension pg_stat_statements; 

2.检查

上面的命令没有错误即说明没问题

三、应用

启用后,需要在sql中查询结果

1.最耗IO的sql统计

最耗IO的20条

select userid::regrole, dbid, query from pg_stat_statements order by (blk_read_time+blk_write_time)/calls desc limit 20;  

2.最耗时的sql统计

最耗时的20条

select userid::regrole, dbid, query from pg_stat_statements order by mean_time desc limit 20;  

3.最耗共享内存的sql统计

最耗内存的20条

select userid::regrole, dbid, query from pg_stat_statements order by (shared_blks_hit+shared_blks_dirtied) desc limit 20;  

4.最耗空间的sql统计

最耗空间的20条文章来源地址https://www.toymoban.com/news/detail-730384.html

select userid::regrole, dbid, query from pg_stat_statements order by temp_blks_written desc limit 20;

到了这里,关于Postgresql 模块插件之pg_stat_statements的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【PG】PostgreSQL客户端认证pg_hba.conf文件

    目录 文件格式  连接类型(TYPE) 数据库(database) 用户(user) 连接地址(address) 格式 IPv4 IPv6 字符 主机名 主机名后缀 IP-address/IP-mask auth-method trust reject scram-sha-256 md5 password gss sspi ident peer ldap radius cert pam bsd auth-options 示例 用户在连接到PG数据库之前首先要经过文件的验证,可以

    2024年02月08日
    浏览(35)
  • 一图看懂 stat 模块:解析 stat() 结果, 资料整理+笔记(大全)

    本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 @[TOC](一图看懂 stat 模块:解析 stat() 结果, 资料整理+笔记(大全)) 全文介绍系统内置 stat 模块、函数、类及类的方法和属性。 它通过代码抓取并经AI智能翻译和人工校对。 是一部不可多得的权威字典类工

    2023年04月09日
    浏览(30)
  • PostgreSql pg_ctl 命令

    控制 PostgreSQL 服务的工具。 init 或 initdb:调用initdb命令。详见initdb。 参数说明 : -c 或 --core-files :生成服务器崩溃产生核心文件。 -D datadir 或 --pgdata=datadir :指定数据库数据文件位置。如果这个选项被忽略,将使用环境变量 PGDATA。 -l filename 或 --log=filename :追加服务器日志

    2024年02月14日
    浏览(36)
  • PostgreSQL实战-pg13主从复制切换测试

    修改/etc/profile文件, 添加如下内容: 清空数据表数据 主库清空数据表数据 从库对应的数据表也会被清空 新增数据表数据 主库数据表插入数据一行 从库数据表也会插入一行 删除数据表数据

    2024年02月15日
    浏览(35)
  • 【PostgreSQL】连接pg数据库Schema切换

    由于PostgreSQL数据库模式(schema)存在多个,原先的表单是默认采用public但是查询表和字段时候有查询所有未进行过滤,导致数据库连接失败、查表字段也为空(空即查询服务端异常错误) 数据库连接配置 添加参数补充 ?currentSchema=dwd 譬如: username=root;password=XXXX;url=jdbc:postg

    2024年02月11日
    浏览(39)
  • POSTGRESQL PG15关于归档的新模式

    开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到3群(共810人左右 1 + 2 + 3),这里需要注意,如果想和 瑞典马工进行面对面的交

    2024年02月06日
    浏览(38)
  • 【PG】PostgreSQL高可用方案repmgr部署(非常详细)

    目录 简介 1 概述 1.1 术语 1.2 组件 1.2.1 repmgr 1.2.2 repmgrd 1.3 Repmgr用户与元数据 2 安装部署 2.0 部署环境  2.1 安装要求 2.1.1 操作系统 2.1.2 PostgreSQL 版本 2.1.3 操作系统用户 2.1.4 安装位置 2.1.5 版本要求 2.2 安装 2.2.1 软件包安装 2.2.2 源码编译安装 3 快速开始 3.2 PostgreSQL部署主库

    2024年02月02日
    浏览(35)
  • PG DBA培训23:PostgreSQL执行计划与统计信息

    本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL Execution plan and statistical,学完本课程可以掌握PostgreSQL性能优化之查询处理,PostgreSQL处理SQL的整个逻辑顺序,PostgreSQL查询处理的流程讲解,PostgreSQL性能优化之执行计划,执行计划的介绍,执行计划查看语法,执行

    2024年01月22日
    浏览(40)
  • POSTGRESQL(PG) 性能优化之like全文检索优化

    使用like操作可以进行字符串比较,全文检索等,性能相对比较差,有些情况下可以通过建立索引来提升性能。下面我们通过使用TPCH orders表作为例子,来进行说明。但是请注意, not like是不能用任何索引的,BTREE不支持!=操作,只能进行=和范围查找。 TPCH orders表的定义如下,

    2024年02月05日
    浏览(40)
  • PostgreSQL PG16 逻辑复制在STANDBY 上工作 (译)

    开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共1100人左右 1 + 2 + 3)新人会进入3群 Postgres 16刚刚发布了测试版,我对其中

    2024年02月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包