track_io_timing

用于跟踪数据库 I/O 调用时序的配置参数

track_io_timing 是一个 配置参数,用于控制是否跟踪数据库 I/O 调用的时序。

track_io_timingPostgreSQL 9.2 中添加。

默认值

track_io_timing 的默认值为:off

用法

如果启用,则会在以下上下文中显示 I/O 时序信息

track_io_timing 默认情况下是禁用的,因为它会重复查询操作系统以获取当前时间。这可能会在某些平台上造成很大的开销;contrib 模块 pg_test_timing 可以帮助确定是否为这种情况。

EXPLAIN (BUFFERS, ANALYZE)

如果使用 EXPLAIN 并结合 BUFFERS, ANALYZE 选项,则任何发生的 I/O 都会用注释“I/O Timings”标记。

pg_stat_database

以下列将更新为总 I/O 时间

  • blk_read_time
  • blk_write_time

pg_stat_statements

以下列将更新为总 I/O 时间

  • blk_read_time
  • blk_write_time

按 PostgreSQL 版本分列详情

track_io_timing (PostgreSQL 17)

设置 off
单位  
类别 统计信息 / 累积查询和索引统计信息
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 16)

设置 off
单位  
类别 统计信息 / 累积查询和索引统计信息
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 15)

设置 off
单位  
类别 统计信息 / 累积查询和索引统计信息
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 14)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 13)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 12)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 11)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 10)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 9.6)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 9.5)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  
等待重启 false

文档: track_io_timing

track_io_timing (PostgreSQL 9.4)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  

文档: track_io_timing

track_io_timing (PostgreSQL 9.3)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  

文档: track_io_timing

track_io_timing (PostgreSQL 9.2)

设置 off
单位  
类别 统计信息 / 查询和索引统计信息收集器
简短描述 收集数据库 I/O 活动的时序统计信息。
额外描述  
上下文 超级用户
变量类型 bool
来源 默认值
最小值  
最大值  
枚举值  
引导值 off
重置值 off
源文件  
源代码行  

文档: track_io_timing

更改历史记录

示例

track_io_timingEXPLAIN 结合使用

postgres=# SET track_io_timing = ON;
SET

postgres=# EXPLAIN (BUFFERS, ANALYZE) SELECT COUNT(*) FROM object;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------
Aggregate (cost=87.40..87.41 rows=1 width=8) (actual time=48.855..48.874 rows=1 loops=1)
Buffers: shared read=30
I/O Timings: read=1.411
-> Seq Scan on object (cost=0.00..75.92 rows=4592 width=0) (actual time=0.338..25.602 rows=4477 loops=1)
Buffers: shared read=30
I/O Timings: read=1.411
Planning Time: 5.024 ms
Execution Time: 49.186 ms
(8 rows)

请注意,在执行上述查询后,数据现在将被缓存,重新执行将不会涉及 I/O,并且 EXPLAIN 输出中将不包含“I/O Timings”值

postgres=# EXPLAIN (BUFFERS, ANALYZE) SELECT COUNT(*) FROM object;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------
Aggregate (cost=87.40..87.41 rows=1 width=8) (actual time=53.178..53.196 rows=1 loops=1)
Buffers: shared hit=30
-> Seq Scan on object (cost=0.00..75.92 rows=4592 width=0) (actual time=0.043..26.705 rows=4477 loops=1)
Buffers: shared hit=30
Planning Time: 0.174 ms
Execution Time: 53.295 ms
(6 rows)

尝试以非超级用户身份设置 track_io_timing

postgres=*> SET track_io_timing TO on;
ERROR:  permission denied to set parameter "track_io_timing"

分类

GUC 配置项

另请参阅

pg_test_timingpg_stat_statementspg_stat_databasetrack_wal_io_timingstatistics_collector

反馈

提交您对“track_io_timing”的任何评论、建议或更正 此处