timing_clock_source
英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 20·选择有来源记录的版本
- boot val
- 未知
- category
- Timing
- context
- 未知
- documented
- true
- enumvals
- 未知
- extra desc
- 未知
- lang
- en
- max val
- 未知
- metadata version
- 未知
- min val
- 未知
- name
- timing_clock_source
- short desc
- 未知
- source
- english-manual
- unit
- 未知
- vartype
- enum
版本定义 PG 20
选择使用操作系统或专用 CPU 指令进行计时测量的方法。可能的值有:
auto(在受支持的 x86-64 CPU 上自动选择 TSC 时钟源,否则使用操作系统时钟)system(使用操作系统时钟进行计时测量)tsc(使用 CPU 指令进行计时,例如在 x86-64 上使用RDTSC/RDTSCP)
默认值为auto。只有超级用户可以更改此设置。不建议在查询执行期间更改该设置,因为这可能会导致间隔计时出现明显跳变,或者产生负值。
如果启用,名为 TSC 的时钟源会在测量时间间隔时使用专门的 CPU 指令;它的名字来自 x86-64 上的时间戳计数器(Time-Stamp Counter)。与读取操作系统时钟相比,这可以降低计时开销,并减少叠加在实际运行时间之上的测量误差,例如在 EXPLAIN ANALYZE 中。
在 x86-64 CPU 上,TSC 时钟源会在 EXPLAIN ANALYZE 中使用 RDTSC 指令。对于需要更高精度的计时,会使用 RDTSCP 指令,以避免由于 CPU 指令重排序造成的不准确。较旧的 x86-64 CPU 和其他架构不支持使用 TSC 时钟源,而且在使用模拟 TSC 的系统上也不建议这样做,因为它很可能比系统时钟源更慢。
为了帮助决定应使用哪种时钟源,你可以运行pg_test_timing工具来检查 TSC 可用性并执行计时测量。
比较版本
来源引用
定义来源
center · PostgreSQL 20 · english-manuals:6750c880720b8717e8f26205393941f51cfea63cbb91d2a27a68e24cd38bb7e7
正文语言: zh-Hans · 2026-09-11@29c86d9