PostgreSQL pg_stat_statements 参数

1 背景知识

本文主要介绍 PostgreSQL pg_stat_statements 相关参数。

2 参数说明

2.1 pg_stat_statements.max (integer)

pg_stat_statements.max 指定此扩展记录的SQL语句的最大数目(即 pg_stat_statements 视图中行的最大数量)。如果记录到的语句超过这个数量,执行次数最少的语句的信息将会被删除。
此参数默认值为 5000。更改这个参数需要重启服务器。

2.2 pg_stat_statements.track (enum)

pg_stat_statements.track 指定此扩展要记录哪些语句并计数。

指定 top 可以跟踪顶层语句(那些直接由客户端发出的语句)。
指定 all 还可以跟踪嵌套的语句(例如在函数中调用的语句)。
指定 none 可以禁用语句统计信息收集。

默认值是 top。只有 SuperUser 能够改变此参数。

2.3 pg_stat_statements.track_utility (boolean)

pg_stat_statements.track_utility 指定此扩展是否记录 工具命令 并计数。工具命令 是指除了 SELECTINSERT、 UPDATEDELETE 之外所有的其他命令。默认值是 on。只有 SuperUser 能够改变这个设置。

2.4 pg_stat_statements.track_planning (boolean)

pg_stat_statements.track_planning 指定是否记录 生成执行计划的操作生成执行计划持续时间。在并发连接较多,查询比较单一时,启用此参数可能会导致明显的性能损耗。默认值为 off。只有 SuperUser 才能更改此设置。

2.5 pg_stat_statements .save (boolean)

pg_stat_statements.save 指定是否在服务器关闭之后还保存语句统计信息。

Warning

此扩展请求与 pg_stat_statements.max 成比例的额外共享内存。
请注意,只要此扩展被载入就会消耗这么多的内存,即便 pg_stat_statements.track 被设置为 none