trace_sort 是一个开发配置参数,用于将有关PostgreSQL日志在排序操作期间的资源使用情况的额外信息输出。
trace_sort 在 PostgreSQL 8.1 中被添加。
用法
当 trace_sort 启用时,关于排序操作的信息将以 LOG 级别输出到PostgreSQL日志。示例如下。
默认
trace_sort 的默认值为: off。
按 PostgreSQL 版本详细信息
trace_sort (PostgreSQL 19)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 18)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 17)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 16)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 15)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 14)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 13)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 12)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 11)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 10)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 9.6)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 9.5)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 | |
| 需要重启 | false |
文档: trace_sort
trace_sort (PostgreSQL 9.4)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 |
文档: trace_sort
trace_sort (PostgreSQL 9.3)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 |
文档: trace_sort
trace_sort (PostgreSQL 9.2)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 |
文档: trace_sort
trace_sort (PostgreSQL 9.1)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 |
文档: trace_sort
trace_sort (PostgreSQL 9.0)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 |
文档: trace_sort
trace_sort (PostgreSQL 8.4)
| 设置 | off |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 | |
| 枚举值 | |
| 启动值 | off |
| 重置值 | off |
| 源文件 | |
| 源行 |
文档: trace_sort
trace_sort (PostgreSQL 8.3)
| 设置 | |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 |
文档: trace_sort
trace_sort (PostgreSQL 8.2)
| 设置 | |
| 单位 | |
| 类别 | 开发者选项 |
| 简短描述 | 输出有关排序过程中资源使用情况的信息。 |
| 扩展描述 | |
| 上下文 | user |
| 变量类型 | bool |
| 来源 | 默认 |
| 最小值 | |
| 最大值 |
文档: trace_sort
变更历史
- PostgreSQL 8.1
- 添加于 (commit 53e47cdd)
示例
的基本用法示例trace_sort
postgres=# SET trace_sort TO on; SET postgres=# SELECT * FROM foo ORDER BY id desc limit 5; id ------- 10000 9999 9998 9997 9996 (5 rows)
PostgreSQL日志文件将包含类似以下的条目
[2023-12-11 16:50:09 UTC] psql postgres postgres LOG: statement: SET trace_sort TO on; [2023-12-11 16:50:11 UTC] psql postgres postgres LOG: statement: SELECT * FROM foo ORDER BY id desc limit 5; [2023-12-11 16:50:11 UTC] psql postgres postgres LOG: begin datum sort: workMem = 4096, randomAccess = f [2023-12-11 16:50:11 UTC] psql postgres postgres STATEMENT: SELECT * FROM foo ORDER BY id desc limit 5; [2023-12-11 16:50:11 UTC] psql postgres postgres LOG: switching to bounded heapsort at 11 tuples: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s [2023-12-11 16:50:11 UTC] psql postgres postgres STATEMENT: SELECT * FROM foo ORDER BY id desc limit 5; [2023-12-11 16:50:11 UTC] psql postgres postgres LOG: performsort of worker -1 starting: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s [2023-12-11 16:50:11 UTC] psql postgres postgres STATEMENT: SELECT * FROM foo ORDER BY id desc limit 5; [2023-12-11 16:50:11 UTC] psql postgres postgres LOG: performsort of worker -1 done: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s [2023-12-11 16:50:11 UTC] psql postgres postgres STATEMENT: SELECT * FROM foo ORDER BY id desc limit 5; [2023-12-11 16:50:11 UTC] psql postgres postgres LOG: internal sort of worker -1 ended, 25 KB used: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s [2023-12-11 16:50:11 UTC] psql postgres postgres STATEMENT: SELECT * FROM foo ORDER BY id desc limit 5;
参考资料
- PostgreSQL 文档: trace_sort
