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