选择 打开 改范围 完整检索页
受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10
当前 PostgreSQL 版本不在支持生命周期内。
您可以参阅当前版本的对应页面,或其他在上面列出的活跃大版本。

19.9. 运行时统计数据 #

19.9.1. 累积查询和索引统计 #

这些参数控制服务器范围内的累积统计系统。 启用后,收集的数据可以通过pg_statpg_statio 系列系统视图进行访问。有关更多信息,请参阅Chapter 27

track_activities (boolean) #

启用对每个会话当前执行命令的信息收集,包括命令开始执行的时间。 此参数默认为开启状态。请注意,即使启用了此信息,只有超级用户、具有 pg_read_all_stats角色权限的角色和拥有被报告会话的用户 (包括属于他们具有权限的角色的会话)才能看到此信息,因此不应构成安全风险。 只有超级用户能更改这个设置。

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, 即禁用函数统计跟踪。只有超级用户能更改这个设置。

Note

简单到足以被内联到调用查询中的 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不能与任何单独模块选项一起启用。所有这些选项默认情况下都是禁用的。 只有超级用户才能更改这些设置。