18.9. 运行时统计数据 #
18.9.1. 查询和索引统计信息收集器 #
这些参数控制服务器范围内的统计信息收集功能。启用统计信息收集后,产生的数据可以通过pg_stat和
pg_statio系列系统视图进行访问。更多信息请参阅第 27 章。
track_activities(boolean) #启用对每个会话当前执行命令的信息收集,包括命令开始执行的时间。此参数默认为开启状态。请注意,即使启用了此参数,该信息也只有超级用户和拥有被报告会话的用户才能看到,因此不应构成安全风险。只有超级用户能更改这个设置。
track_activity_query_size(integer) #为每个活动会话指定存储当前执行命令的文本所预留的字节数,它们被用于
pg_stat_activity.query字段。默认值是 1024字节。这个参数只能在服务器启动时被设置。track_counts(boolean) #启用对数据库活动的统计信息收集。此参数默认为开启,因为自动清理守护进程需要这些收集到的信息。只有超级用户能更改这个设置。
track_io_timing(boolean) #启用数据库I/O调用的计时。默认情况下,此参数处于关闭状态,因为它将重复查询操作系统的当前时间,这可能会在某些平台上造成显著的开销。你可以使用pg_test_timing工具来测量系统上计时的开销。I/O计时信息显示在pg_stat_database中,也显示在使用
BUFFERS选项的EXPLAIN输出中,并由pg_stat_statements提供。只有超级用户能更改这个设置。track_functions(enum) #启用函数调用次数和耗时的跟踪。指定
pl以仅跟踪过程语言函数,all以同时跟踪SQL和C语言函数。默认值为none,即禁用函数统计跟踪。只有超级用户能更改这个设置。注意
简单到足以被“内联”到调用查询中的 SQL 语言函数不会被跟踪,而不管这个设置。
update_process_title(boolean) #启用后,每次服务器接收到新的 SQL 命令时都会更新进程标题。进程标题通常通过
ps命令查看,在 Windows 上则可以使用Process Explorer。只有超级用户能更改这个设置。stats_temp_directory(string) #设置存放临时统计信息数据的目录。它既可以是相对于数据目录的路径,也可以是绝对路径。默认值是
pg_stat_tmp。将其指向基于 RAM 的文件系统可以减少物理 I/O 需求,并可能提升性能。这个参数只能在postgresql.conf文件中或服务器命令行上设置。