2012-09-06 57 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,但對於大多數您只需要自己通過預處理器標誌。

正如·德熱指出,請參閱: