postgreSQL 统计语句

时间:2022-09-24 21:38:59

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

安装二进制文件

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

装载库

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

postgreSQL 统计语句

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

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

postgreSQL 统计语句

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

postgreSQL 统计语句

创建扩展

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

创建命令是 create extension pg_stat_statements

postgreSQL 统计语句

使用pg_stat_statements

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

postgreSQL 统计语句

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

postgreSQL 统计语句

配置和操作

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)