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

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

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

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

track_activity_query_size

设置 pg_stat_activity.query 预留的字节数。

Sets the size reserved for pg_stat_activity.query, in bytes.

整数 重启生效 引入 9.0(基线) 现存至 20 devel 1 次默认值变更

类型
整数integer
上下文
重启生效只能在服务器启动时设置,修改后需要重启
默认值
1 KiB原始值 1024 B
取值范围
100 – 1048576
引入版本
9.0(基线)
状态
现存

PostgreSQL 18 手册 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

1024 9.0 – 10 1 KiB 11 – 20

默认值一共换过 2 档,每段的宽度按它覆盖的大版本数伸展,深色的一段是当前查看的 PostgreSQL 18。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

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

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

为每个活动会话指定存储当前执行命令的文本所保留的内存量,它们被用于pg_stat_activity.query域。 如果指定值时没有单位,则以字节为单位。默认值是 1024字节。这个参数只能在服务器启动时被设置。

机制详解

track_activity_query_size 为每个活动会话在 pg_stat_activity.query 中保存的当前查询文本实际预留共享内存,单位为字节,并在服务器启动时固定。

长语句会按该存储大小截断;提高它能改善故障上下文,但内存会乘以后端名额数,包括已配置连接容量。

它不改变日志语句长度、pg_stat_statements 查询文本存储或应用 payload 限制。compute_query_id 可用时,查询标识能把截断文本与其他遥测关联。其 postmaster 上下文在服务器启动时固定取值,修改后必须重启。

调优建议

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

  • OLTP在线事务处理

    选择足以保留诊断价值 SQL 的字节数,再按全部后端名额而不是仅活动查询预算近似存储。提高它属于启动共享内存决策,修改后必须重启。

  • OLAP分析与批处理

    很长的生成 SQL 往往需要超过 1kB 才能保持可识别。应把截断频率与事故需求同“取值乘以 MaxBackends”比较;该参数消耗内存,不产生反复读取时钟的开销。

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

    使用仍能保留有效语句身份的最小值。不能未经乘以小主机连接与 worker 名额,就照搬 crit 模板的 32kB。

常见问题

  • 把它当成只为当前活动查询使用的内存,而不是跨后端名额预留的存储。
  • 忘记单位是字节;多字节查询文本可容纳的字符数会少于字节数直觉。
  • 期待它改变日志语句长度或 pg_stat_statements 查询文本存储。
  • 修改后没有执行必需的服务器重启。

演化历史

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

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 15 ← 14 仅描述更新

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

  3. PostgreSQL 14 ← 13 仅描述更新

    分类 Resource Usage / Memory Statistics / Query and Index Statistics Collector

  4. PostgreSQL 13 ← 12 属性变更

    最大值 102400 1048576

  5. PostgreSQL 11 ← 10 默认值变更

    单位 (无) B

  6. PostgreSQL 9.2 ← 9.1 仅描述更新

    简述 Sets the size reserved for pg_stat_activity.current_query, in bytes. Sets the size reserved for pg_stat_activity.query, in bytes.

逐版本快照

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

版本 默认值单位上下文类型最小值最大值枚举值
9.0 1024 重启生效 整数 100 102400
9.1 1024 重启生效 整数 100 102400
9.2 1024 重启生效 整数 100 102400
9.3 1024 重启生效 整数 100 102400
9.4 1024 重启生效 整数 100 102400
9.5 1024 重启生效 整数 100 102400
9.6 1024 重启生效 整数 100 102400
10 1024 重启生效 整数 100 102400
11 1 KiB B 重启生效 整数 100 102400
12 1 KiB B 重启生效 整数 100 102400
13 1 KiB B 重启生效 整数 100 1048576
14 1 KiB B 重启生效 整数 100 1048576
15 1 KiB B 重启生效 整数 100 1048576
16 1 KiB B 重启生效 整数 100 1048576
17 1 KiB B 重启生效 整数 100 1048576
18 1 KiB B 重启生效 整数 100 1048576
19 1 KiB B 重启生效 整数 100 1048576
20 沿用 1 KiB B 重启生效 整数 100 1048576

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
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 等待计时。 现存