pg_stat_statements 是 postgresql 的一个扩展,用来统计查询语句,类似于 mysql 的
慢查询。

安装二进制文件

有些发行版可能没有附带这个扩展,则需要用户自己安装,
本文演示的发行版均自带,所以安装就略过。

装载库

默认情况下,这个扩展是没有启用的,
为了要启用它,需要修改 postgres.conf 配置文件,
增加

pg_stat_statements 是该
扩展的名称,
一般是存放在 $lib 目录下,此目录可以使用
命令 pg_config 查看

对于 linux ,它通常位于 /usr/lib/postgresql/9.5/lib/

对于windows,它通常位于 C:\Program Files\PostgreSQL\9.4\lib

创建扩展

在配置文件启用它之后,
重启 postgreSQL 服务,
登录到 psql 创建 extension,只有创建扩展之后,它才能被使用。

创建命令是 create extension pg_stat_statements

使用pg_stat_statements

安装这个扩展之后,它会创建一个视图pg_stat_statements

对 SQL查询的调研,就是使用此
视图进行,
例如

配置和操作

pg_stat_statements 具有以下几个配置
参数

参数名称

说明

pg_stat_statements.max (integer)

跟踪语句的最大数量,也就是该视图的最大行数,默认是5000

pg_stat_statements.track (enum)

哪些语句将被跟踪, 可选 top 和 all,top用于追踪top-level statement(直接由客户端方发送的),all还会追踪嵌套的statements(例如在函数中调用的statements),默认是top

pg_stat_statements.track_utility (boolean)

utility 命令[SELECT, INSERT, UPDATE and DELETE 之外的那些命令]是否被跟踪,默认是on

pg_stat_statements.save (boolean)

服务关机时,是否还保存语句统计,默认是on

pg_stat_statements 具有以下几个 函数

函数名

说明

pg_stat_statements_reset()

重置
语句统计

pg_stat_statements(showtext boolean)

postgreSQL 统计语句的更多相关文章

  1. oracle 统计语句 与常见函数的归纳(未完待续)

    一.统计语句 1. count count(*)与count(0)语句的区别: count(*)统计所有数量 count(0)统计第一列不为空的 2. 两个统计量的减法 select (select ...

  2. ***SQL统计语句总结(运用场景:运营分析,财务分析等)

    -- 统计三月的每天的数据量 ,) ,) ; --统计从5月19到6月29的数据量 , ) AS '日期', count(*) AS '医说数' FROM xm_feed a WHERE a.feed ...

  3. COUNT分组条件去重的sql统计语句示例(mysql)

    常规情况下的sql分组统计为: ) from 表 where 条件 group by 字段; 但是有时往往需要添加不同的条件已经去重的统计以上语句就不能满足需求. 解决方案为: 1.添加条件的统计方案 ...

  4. PostgreSQL统计信息索引页

    磨砺技术珠矶,践行数据之道,追求卓越价值 返回顶级页:PostgreSQL索引页 本页记录所有本人所写的PostgreSQL的统计信息相关文摘和文章的链接: pg_stats:   --------- ...

  5. PostgreSQL统计信息挖掘

    PG提供了丰富的统计信息,但是没有将这些统计信息使用的简单查询搞成存储过程,需要我们自己根据需要灵活的去挖掘,最近做了数据库监控,用了一些简单的东西,于是想往深了挖一下. 首先看看系统表和视图,他们都 ...

  6. PostgreSQL - update语句怎么关联多个表

    问题 对于select语句,我们可以通过join/outer join来关联多个表:但是对于update语句,是不能直接通过join/outer join来关联多表数据的,这里仅针对PostgreSQ ...

  7. 简单常用的sql,统计语句,陆续整理添加吧

    1. 分段统计分数      if object_id('[score]') is not null drop table [score] go create table [score]([学号] i ...

  8. Sqlserver统计语句

    --查看被缓存的查询计划 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED st.text AS [SQL] , cp.cacheobjtype , c ...

  9. postgresql查询语句

    //查询表名称SELECT tablename FROM pg_tablesWHERE tablename NOT LIKE 'pg%'AND tablename NOT LIKE 'sql_%' O ...

随机推荐

  1. linux 下 TeXmacs 作 Mathematica 10 的前端

    TeXmacs可以作很多种数学软件的前端,比如maxima,octave,R等.甚至还可以作mathematica的前端.TeXmacs的mathematica 插件比较老,默认条件下无法运行math ...

  2. bootstrap dialog 使用模态对话框

    bootstrap3-dialog 使用模态对话框 <div class="modal fade"> <div class="modal-dialog& ...

  3. 关于mysql数据库字符集优先级问题

    mysql数据库可以分别设置数据库字符集.表字符集和表字段字符集. 1.数据库字符集 < 表字符集 < 表字段(列)字符集. 例如数据库字符集为gbk -- GBK Simplified ...

  4. Tomcat并发数优化,修改service.xml性能调优 增加最大并发连接数

    可以在控制台的启动信息里看见,默认状态下没有被打开nio配置,启动时的信息,如下: 2010-2-1 12:59:40 org.apache.coyote.http11.Http11Protocol ...

  5. 自动备份SQL数据库 并删除指定日期之前的备份文件

    /// <summary>        /// 数据备份        /// </summary>        /// public bool DataBackup(st ...

  6. Backbone框架浅析

    Backbone是前端mvc开发模式的框架.它能够让view和model相分离,让代码结构更清晰简答,开发进度加快,维护代码方便.但是,现在出了一种mvvm框架,它是下一代前端mvc开发模式的框架,代 ...

  7. 3.springMVC+spring+Mybatis整合Demo(单表的增删该查,这里主要是贴代码,不多解释了)

    前面给大家讲了整合的思路和整合的过程,在这里就不在提了,直接把springMVC+spring+Mybatis整合的实例代码(单表的增删改查)贴给大家: 首先是目录结构: 仔细看看这个目录结构:我不详 ...

  8. linux开机随笔

    (1),linux开机流程: 固件是在软件与硬件之间的那部分,他们既不叫做硬件也不叫做软件, 开机自检  ,就是  在你按下开机键时,电脑就会自动检查你的硬盘  内存 cpu等器件, 那个CMOS是固 ...

  9. NSURLCache详解和使用

    使用缓存的目的是为了使应用程序能更快速的响应用户输入,是程序高效的运行.有时候我们需要将远程web服务器获取的数据缓存起来,以空间换取时间,减少对同一个url多次请求,减轻服务器的压力,优化客户端网络 ...

  10. crontab使用

    结合一条命令:0 */4 * * * curl http://xxxx.abc.com/admin.php?s=/Crontab/exec_114study_urltags