log_btree_build_stats
是一个用于记录各种 B 树操作的系统资源使用统计信息的 配置参数。
log_btree_build_stats
在 PostgreSQL 7.4 中从 show_btree_build_stats
重命名而来。
用法
请注意,只有在构建 SQL 时定义了宏 BTREE_BUILD_STATS
时,log_btree_build_stats
才可用(通常在 src/include/pg_config_manual.h 中添加此宏)。
启用后,PostgreSQL 日志文件将包含以 LOG
级别开始的条目,以 BTREE BUILD ...
开头,以及包含相关统计信息的 DETAIL
输出。请参见下面的示例。
默认值
log_btree_build_stats
的默认值为:off
。
变更历史
- PostgreSQL 7.4
- 从
show_btree_build_stats
重命名而来(提交 559b6c7c)
- 从
示例
如果启用了 log_btree_build_stats
,则在执行 B 树操作时,PostgreSQL 日志文件将包含类似以下内容的条目
[2023-12-11 20:06:20 UTC] psql postgres postgres LOG: 00000: statement: CREATE TABLE foo (id INT PRIMARY KEY); [2023-12-11 20:06:20 UTC] psql postgres postgres LOCATION: exec_simple_query, postgres.c:1070 [2023-12-11 20:06:20 UTC] psql postgres postgres LOG: 00000: BTREE BUILD (Spool) STATISTICS [2023-12-11 20:06:20 UTC] psql postgres postgres DETAIL: ! system usage stats: ! 0.000072 s user, 0.000013 s system, 0.000083 s elapsed ! [0.303226 s user, 0.055857 s system total] ! 46620 kB max resident size ! 0/0 [0/44440] filesystem blocks in/out ! 0/2 [1548/1141] page faults/reclaims, 0 [0] swaps ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent ! 0/0 [14/2] voluntary/involuntary context switches [2023-12-11 20:06:20 UTC] psql postgres postgres LOCATION: ShowUsage, postgres.c:5071 [2023-12-11 20:06:20 UTC] psql postgres postgres STATEMENT: CREATE TABLE foo (id INT PRIMARY KEY); [2023-12-11 20:06:20 UTC] psql postgres postgres LOG: 00000: BTREE BUILD STATS [2023-12-11 20:06:20 UTC] psql postgres postgres DETAIL: ! system usage stats: ! 0.000151 s user, 0.000028 s system, 0.000180 s elapsed ! [0.303438 s user, 0.055896 s system total] ! 46620 kB max resident size ! 0/16 [0/44456] filesystem blocks in/out ! 0/0 [1548/1141] page faults/reclaims, 0 [0] swaps ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent ! 0/0 [14/2] voluntary/involuntary context switches [2023-12-11 20:06:20 UTC] psql postgres postgres LOCATION: ShowUsage, postgres.c:5071 [2023-12-11 20:06:20 UTC] psql postgres postgres STATEMENT: CREATE TABLE foo (id INT PRIMARY KEY);
如果在未定义 BTREE_BUILD_STATS
的情况下构建了 PostgreSQL,则尝试使用 log_btree_build_stats
以及 SHOW
和相关命令时将引发错误
postgres=# SHOW log_btree_build_stats; ERROR: unrecognized configuration parameter "log_btree_build_stats" postgres=# SELECT * FROM pg_settings WHERE name = 'log_btree_build_stats'; (0 rows)
参考
- PostgreSQL 文档: log_btree_build_stats