选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 配置参数 / 运行时统计数据

CONFIGURATION PARAMETER运行时统计数据 / 累积查询和索引统计

track_activities

收集会话当前执行命令的信息。

Collects information about executing commands.

布尔 会话(超级用户) 引入 9.0(基线) 现存至 20 devel 0 次默认值变更

类型
布尔bool
上下文
会话(超级用户)超级用户可在会话内用 SET 修改
默认值
on
引入版本
9.0(基线)
状态
现存

PostgreSQL 18 手册 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

on 9.0 – 20

默认值自 PostgreSQL 9.0 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.9 运行时统计数据 本站手册 官方原文

本版译文与 PostgreSQL 15 完全一致,下面就是同一段文字。

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

机制详解

track_activities 为 pg_stat_activity 记录每个会话的当前命令、查询标识与时间元数据;即使启用收集,访问仍受权限过滤。

关闭会失去关键实时可观测性,但不会终止命令,也不会直接让命令更快。每会话保存的文本受 track_activity_query_size 限制。

获授权用户可以修改该开关,因此监控应识别主动禁用活动报告的会话。它与 track_counts 控制的累计计数相互独立。其 superuser 上下文允许获授权会话修改,无需重启服务器。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    生产环境保持 on,让 pg_stat_activity 提供事故响应所需的当前命令、query ID 与时间信息。应限制视图权限,并单独设置 track_activity_query_size,而不是通过关闭活动收集隐藏文本。

  • OLAP分析与批处理

    长分析会话保持 on;资源竞争时实时阶段与等待上下文尤其重要。若怀疑开销,应先明确测量,再决定是否接受 off 带来的可观测性损失。

  • 小规格低配实例与开发机

    保持 on。它是布尔收集开关,不是缓冲区大小;若要减少查询文本内存,应单独调整 track_activity_query_size,并保留足够诊断文本。

常见问题

  • 关闭后丢失诊断阻塞或失控会话所需的当前命令证据。
  • 把实时活动收集与 track_counts 控制的累计计数混为一谈。
  • 认为 on 会让每个角色看到所有会话查询文本;可见性仍受权限过滤。
  • 忽略获授权会话可在允许的上下文中关闭自身活动报告。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 15 ← 14 仅描述更新

    分类 Statistics / Query and Index Statistics Collector Statistics / Cumulative Query and Index Statistics

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
9.0 on 会话(超级用户) 布尔
9.1 on 会话(超级用户) 布尔
9.2 on 会话(超级用户) 布尔
9.3 on 会话(超级用户) 布尔
9.4 on 会话(超级用户) 布尔
9.5 on 会话(超级用户) 布尔
9.6 on 会话(超级用户) 布尔
10 on 会话(超级用户) 布尔
11 on 会话(超级用户) 布尔
12 on 会话(超级用户) 布尔
13 on 会话(超级用户) 布尔
14 on 会话(超级用户) 布尔
15 on 会话(超级用户) 布尔
16 on 会话(超级用户) 布尔
17 on 会话(超级用户) 布尔
18 on 会话(超级用户) 布尔
19 on 会话(超级用户) 布尔
20 沿用 on 会话(超级用户) 布尔

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Statistics 运行时统计数据 8 个
累积查询和索引统计 8
stats_fetch_consistency 枚举 会话 cache
设置读取累计统计信息时的一致性方式。 现存
track_activities 布尔 会话(超级用户) on
收集会话当前执行命令的信息。 现存
track_activity_query_size 整数 重启生效 1 KiB 132 次
设置 pg_stat_activity.query 预留的字节数。 现存
track_cost_delay_timing 布尔 会话(超级用户) off
收集基于成本的 vacuum 延迟计时。 现存
track_counts 布尔 会话(超级用户) on
收集数据库活动累计统计。 现存
track_functions 枚举 会话(超级用户) none
收集函数调用次数与耗时统计。 现存
track_io_timing 布尔 会话(超级用户) off
收集数据库 I/O 等待计时。 现存
track_wal_io_timing 布尔 会话(超级用户) off
收集 WAL I/O 等待计时。 现存