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) |