wal_debug

用于发出 WAL 调试输出的系统参数

wal_debug 是一个用于发出与 WAL 相关的调试信息的 配置参数

wal_debugPostgreSQL 7.1 中添加。

用法

wal_debug 是一个开发人员 GUC,仅在编译 PostgreSQL 时在 src/include/pg_config_manual.h 中定义了宏 WAL_DEBUG 时可用。

默认值

wal_debug 的默认值为:off

更改历史记录

示例

在启用 wal_debug 的实例上输出日志(如果可用)

[2022-06-09 08:52:57 UTC] psql postgres postgres LOG:  00000: statement: ALTER SYSTEM SET wal_debug = on;
[2022-06-09 08:52:57 UTC] psql postgres postgres LOCATION:  exec_simple_query, postgres.c:1053
[2022-06-09 08:52:59 UTC] psql postgres postgres LOG:  00000: statement: SELECT pg_reload_conf();
[2022-06-09 08:52:59 UTC] psql postgres postgres LOCATION:  exec_simple_query, postgres.c:1053
[2022-06-09 08:52:59 UTC]    LOG:  00000: received SIGHUP, reloading configuration files
[2022-06-09 08:52:59 UTC]    LOCATION:  SIGHUP_handler, postmaster.c:2763
[2022-06-09 08:52:59 UTC]    LOG:  00000: parameter "wal_debug" changed to "on"
[2022-06-09 08:52:59 UTC]    LOCATION:  ProcessConfigFileInternal, guc-file.l:455

后续日志输出将包含广泛的 WAL 调试信息,例如

[2022-06-09 08:53:29 UTC]    LOG:  00000: INSERT @ 0/3000868:  - XLOG/FPI_FOR_HINT:
[2022-06-09 08:53:29 UTC]    LOCATION:  XLogInsertRecord, xlog.c:1000
[2022-06-09 08:53:29 UTC]    LOG:  00000: INSERT @ 0/3000DF8:  - XLOG/FPI_FOR_HINT:
[2022-06-09 08:53:29 UTC]    LOCATION:  XLogInsertRecord, xlog.c:1000
[2022-06-09 08:53:29 UTC]    LOG:  00000: INSERT @ 0/3000E50:  - Heap2/PRUNE: latestRemovedXid 0 nredirected 2 ndead 3
[2022-06-09 08:53:29 UTC]    LOCATION:  XLogInsertRecord, xlog.c:1000

尝试在未在编译时设置 WAL_DEBUG 宏的实例上使用 wal_debug

postgres=# SHOW wal_debug;
ERROR:  unrecognized configuration parameter "wal_debug"

分类

开发/测试GUC 配置项WAL

另请参阅

wal_consistency_checking

反馈

提交任何关于 "wal_debug" 的评论、建议或更正 此处