pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
这些参数控制服务器范围内的统计信息收集功能。启用统计信息收集后,产生的数据可以通过 pg_stat 和 pg_statio 系列系统视图进行访问。更多信息请参阅第 28 章。
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 输出中,自动清理进程也会在执行自动清理和自动分析时输出这些信息(需设置 log_autovacuum_min_duration),pg_stat_statements 同样提供这些信息。只有超级用户可以更改此设置。
track_wal_io_timing (boolean) #启用 WAL I/O 调用的计时。此参数默认关闭,因为它会反复向操作系统查询当前时间,可能在某些平台上产生显著开销。可以使用 pg_test_timing 工具测量系统上的计时开销。I/O 计时信息显示在 pg_stat_wal 中。只有超级用户才能更改此设置。
track_functions (enum) #启用函数调用次数和耗时的跟踪。指定 pl 以仅跟踪过程语言函数,all 以同时跟踪 SQL 和 C 语言函数。默认值为 none,即禁用函数统计跟踪。只有超级用户能更改这个设置。
简单到足以被“内联”到调用查询中的 SQL 语言函数不会被跟踪,而不管这个设置。
stats_temp_directory (string) #设置存放临时统计信息数据的目录。它既可以是相对于数据目录的路径,也可以是绝对路径。默认值是 pg_stat_tmp。将其指向基于 RAM 的文件系统可以减少物理 I/O 需求,并可能提升性能。这个参数只能在 postgresql.conf 文件中或服务器命令行上设置。
compute_query_id (enum) #启用内置的查询标识符计算功能。查询标识符可以显示在 pg_stat_activity 视图或 EXPLAIN 的输出中,也可以通过 log_line_prefix 参数配置后写入日志。pg_stat_statements 扩展也要求计算查询标识符。注意,如果内置的查询标识符计算方法不符合要求,可以改用外部模块。在这种情况下,必须始终禁用内置计算功能。有效值为 off(始终禁用)、on(始终启用)、auto(允许 pg_stat_statements 等模块自动启用此功能),以及 regress。后者与 auto 效果相同,但不会在 EXPLAIN 输出中显示查询标识符,以便进行自动回归测试。默认值为 auto。
为确保只有一个查询标识符被计算和显示,计算查询标识符的扩展在查询标识符已被计算时应当抛出一个错误。
log_statement_stats (boolean) log_parser_stats (boolean) log_planner_stats (boolean) log_executor_stats (boolean) #对于每个查询,将各自模块的性能统计输出到服务器日志中。这是一个简单的性能分析工具,类似于 Unix getrusage() 操作系统功能。log_statement_stats 报告整个语句的统计信息,而其他选项报告每个模块的统计信息。log_statement_stats 不能与任何单独模块选项一起启用。所有这些选项默认情况下都是禁用的。只有超级用户才能更改这些设置。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题请通过上游文档表单反馈给 PostgreSQL 文档维护者。