19.9. 运行时统计

19 .9.1. 查询和索引统计收集器

这些参数控制服务器范围的统计信息收集功能。启用统计信息收集后,可以通过pg_statpg_statio系列的系统视图访问生成的数据。有关更多信息,请参考Chapter 28

  • track_activities ( boolean )

    • 启用有关每个会话的当前执行命令的信息以及该命令开始执行的时间的信息。此参数默认情况下处于启用状态。请注意,即使启用此信息,也并非对所有用户可见,而对超级用户和拥有会话的用户而言,此信息并不可见,因此它不构成安全风险。只有超级用户可以更改此设置。
  • track_activity_query_size ( integer )

    • 指定pg_stat_activity保留的字节数,以跟踪每个活动会话的当前执行命令。 query字段。默认值为 1024.只能在服务器启动时设置此参数。
  • track_counts ( boolean )

    • 启用有关数据库活动的统计信息收集。默认情况下,此参数为启用状态,因为 autovacuum 守护程序需要收集的信息。只有超级用户可以更改此设置。
  • track_io_timing ( boolean )

    • 启用数据库 I/O 调用的计时。此参数默认情况下处于关闭状态,因为它将重复查询 os 的当前时间,这可能会导致某些平台上的大量开销。您可以使用pg_test_timing工具来衡量系统计时的开销。使用BUFFERS选项时,在EXPLAIN的输出中,在_中显示 I/O 时序信息,在pg_stat_statements处,I/O 时序信息显示在EXPLAIN的输出中。只有超级用户可以更改此设置。
  • 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()os 工具。 log_statement_stats报告总计的语句统计信息,而其他报告每个模块的统计信息。 log_statement_stats不能与任何每个模块选项一起启用。默认情况下,所有这些选项都是禁用的。只有超级用户可以更改这些设置。