19.9. 运行时统计数据

19.9.1. 查询和索引统计收集器
19.9.2. 统计监控

19.9.1. 查询和索引统计收集器

这些参数控制服务器范围的统计数据收集特性。当统计收集被启用时,被产生的数据可以通过pg_statpg_statio系统视图族访问。详见第 28 章

track_activities (boolean)

启用对每个会话的当前执行命令的信息收集,还有命令开始执行的时间。这个参数默认为打开。注意即使被启用,这些信息也不是对所有用户可见,只有超级用户和拥有报告信息的会话的用户可见,因此它不会表现为一个安全风险。只有超级用户可以更改这个设置。

track_activity_query_size (integer)

声明保留的字节数,以跟踪每个活动会话的当前执行命令,对 pg_stat_activity.current_query段。 缺省值是1024。这个参数只能在服务器启动时设置。 指定跟踪每个活动会话当前执行命令所保留的字节数,它们被用于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 语言函数不会被跟踪, 而不管这个设置。

stats_temp_directory (string)

设置存储临时统计数据的目录。这可以是一个相对于数据目录的路径或一个绝对路径。默认值是pg_stat_tmp。在一个基于 RAM 的文件系统上指明这个参数将降低物理 I/O 需求,并且提高性能。这个参数只能在postgresql.conf文件中或在服务器命令行上设置。

19.9.2. 统计监控

log_statement_stats (boolean)
log_parser_stats (boolean)
log_planner_stats (boolean)
log_executor_stats (boolean)

对每个查询,向服务器日志里输出相应模块的性能统计。这是一种粗糙的分析工具。类似于 Unix 的getrusage()系统功能。log_statement_stats报告总的语句统计,而其它的报告针每个模块的统计。log_statement_stats不能和 其它任何针对每个模块统计的选项一起启用。所有这些选项都是默认禁用的。只有超级用户可以更改这个设置。