2012-09-06 54 views
2

我想将wal_debug设置为我的postgresql.conf,以便我可以看到预写日志(WAL)发生了什么情况。开发人员的postgresql选项 - wal_debug

我编的PostgreSQL与--enable-debug

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

,并已将此添加的postgresql.conf

wal_debug = on 

的BUTTOM当我试图启动Postgres的服务器抱怨:

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

什么我错过了吗?

+0

http://www.postgresql.org/docs/9.1/static/runtime-config-developer。 html说:'只有在编译PostgreSQL时定义了WAL_DEBUG宏,该参数才可用。' – dezso

+0

'--enable-debug'与此无关。另请参阅http://www.postgresql.org/docs/9.1/static/install-procedure.html – dezso

+0

你怎么跟这个? –

回答

3

配置时,传递-DWAL_DEBUGCPPFLAGS./configure,如:

./configure CPPFLAGS='-DWAL_DEBUG' 

所有--enable-debug确实(在PG)是告诉编译器发出的包含调试信息每个编译单元的附加部分 - 功能参数,局部变量信息等。该信息允许在用gdb进行调试时产生有用的回溯,使得更容易地步进程序等。

其他调试和测试选项由预处理器定义WAL_DEBUG,它们在源代码中使用条件编译指令(如#ifdef WAL_DEBUG)进行测试。其中一些配置标志,如--enable-cassert,但对于大多数您只需要自己通过预处理器标志。

正如·德热指出,请参阅:

相关问题