19.9. 运行时统计数据
19.9.1. 查询和索引统计收集器
这些参数控制服务器范围的统计数据收集特性。当统计收集被启用时,被产生的数据可以通过pg_stat
和pg_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
不能和 其它任何针对每个模块统计的选项一起启用。所有这些选项都是默认禁用的。只有超级用户可以更改这个设置。 -
本文转自PostgreSQL中文社区,原文链接:19.9. 运行时统计数据