2

我想设置wal_debug我的postgresql.conf,这样我就可以看到预写日志(WAL)发生了什么。

我编译了 PostgreSQL --enable-debug

./configure --prefix=/usr/local/pgsql --enable-nls --with-perl --with-libxml --with-pam --enable-debug

并将其添加到postgresql.conf

wal_debug = on

当我尝试启动 postgres 时,服务器抱怨:

$ pg_ctl start
server starting
FATAL:  unrecognized configuration parameter "wal_debug"

我错过了什么?

4

1 回答 1

3

配置时,传入-DWAL_DEBUGto CPPFLAGS./configure例如:

./configure CPPFLAGS='-DWAL_DEBUG'

所做的一切--enable-debug(在 Pg 中)是告诉编译器在每个编译单元中发出一个附加部分,其中包含调试信息 - 函数参数、局部变量信息等。此信息允许在使用 进行调试时产生有用的回溯gdb,使其更容易执行通过程序等

其他调试和测试选项由预处理器定义控制,例如在源代码WAL_DEBUG中使用条件编译指令进行测试。#ifdef WAL_DEBUG其中一些具有配置标志,例如--enable-cassert,但对于大多数人来说,您只需要自己传递预处理器标志。

正如 dezso 所指出的,请参阅:

于 2012-09-06T09:12:38.857 回答