postgreSQL 统计

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)