开发人员的postgresql选项 - wal_debug

时间:2012-09-06 02:55:02

标签: postgresql

我想将wal_debug设置为postgresql.conf,以便我可以看到预写日志(WAL)发生了什么。

我使用--enable-debug编译了PostgreSQL:

./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"

我错过了什么?

1 个答案:

答案 0 :(得分:3)

配置时,将-DWAL_DEBUG中的CPPFLAGS传递给./configure,例如:

./configure CPPFLAGS='-DWAL_DEBUG'

所有--enable-debug确实(在Pg中)告诉编译器在每个编译单元中发出一个包含调试信息的附加部分 - 函数参数,局部变量信息等。这个信息允许在产生有用的回溯时生成使用gdb进行调试,可以更轻松地逐步完成程序等。

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

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