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);
如果PostgreSQL在未定义BTREE_BUILD_STATS
的情况下构建,则尝试使用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