Postgresql 中文操作指南
20.9. Run-time Statistics #
20.9.1. Cumulative Query and Index Statistics #
这些参数控制服务器范围内的累计统计信息系统。启用后,可以通过_pg_stat_和_pg_statio_系统视图可以使用访问收集到的数据。有关更多信息,请参考 Chapter 28。
-
track_activities (boolean) #
-
启用对每个会话当前执行命令的信息收集,以及其标识符和该命令开始执行的时间。此参数默认开启。请注意,即使启用此信息,此信息也仅对超级用户、具有 pg_read_all_stats 角色权限的角色,以及拥有所报告会话的所有者(包括属于具有权限的角色的会话)可见,因此它不应构成安全风险。只有超级用户和具有适当 SET 权限的用户才能更改此设置。
-
-
track_activity_query_size (integer) #
-
指定保留的内存量,用于存储每个活动会话 pg_stat_activity.query 字段的当前执行命令文本。如果未指定单位,则该值将以字节为单位。默认值为 1024 字节。此参数只能在服务器启动时设置。
-
-
track_counts (boolean) #
-
启用收集有关数据库活动统计信息。此参数默认开启,因为自动清理守护程序需要收集的信息。只有超级用户和具有适当 SET 权限的用户才能更改此设置。
-
-
track_io_timing (boolean) #
-
启用对数据库 I/O 调用进行计时。默认情况下此参数为关闭状态,因为它将重复查询操作系统以获取当前时间,这在某些平台上可能导致开销很大。您可以使用 pg_test_timing 工具来衡量系统上的计时开销。I/O 计时信息显示在 pg_stat_database 中,在使用 BUFFERS 选项时的 EXPLAIN 输出中,在使用 VERBOSE 选项时的 VACUUM 输出中,自动清理程序用于自动清理程序和自动分析, log_autovacuum_min_duration 设置为“开启”时和 pg_stat_statements 使用时。只有超级用户和具有适当 SET 权限的用户可以更改此设置。
-
-
track_wal_io_timing (boolean) #
-
启用对 WAL I/O 调用进行计时。默认情况下此参数为关闭状态,因为它将重复查询操作系统以获取当前时间,这在某些平台上可能导致开销很大。您可以使用 pg_test_timing 工具来衡量系统上的计时开销。I/O 计时信息显示在 pg_stat_wal 中。只有超级用户和具有适当 SET 权限的用户可以更改此设置。
-
-
track_functions (enum) #
-
启用跟踪函数调用计数和使用时间的设置。指定 pl 以仅跟踪过程语言函数;指定 all 还要跟踪 SQL 和 C 语言函数。默认值为 none,禁用函数统计跟踪。只有超级用户和具有适当 SET 权限的用户才能更改此设置。
-
-
stats_fetch_consistency (enum) #
-
确定在事务中多次访问累积统计信息时的行为。如果设置为 none,则每次访问都会从共享内存重新获取计数器。如果设置为 cache,则对对象的第一个统计访问将缓存这些统计信息,直到事务结束,除非调用 pg_stat_clear_snapshot()。如果设置为 snapshot,则第一个统计访问将缓存当前数据库中可访问的所有统计信息,直到事务结束,除非调用 pg_stat_clear_snapshot()。在事务中更改此参数会丢弃统计信息快照。默认值为 cache。
-
Note
none 最适合于监控系统。如果仅访问一次值,则是效率最高的。cache 确保重复访问产生相同的值,这对于涉及例如自连接的查询非常重要。snapshot 在交互式检查统计信息时很有用,但开销较高,尤其是在存在许多数据库对象的情况下。
20.9.2. Statistics Monitoring #
-
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 无法与任何每个模块选项一起启用。所有这些选项在默认情况下均被禁用。只有超级用户和具有适当 SET 权限的用户才能更改这些设置。
-