2015-04-24 42 views
1

我想讓我的postgresql 9.3服務器記錄所有運行時間超過1秒的sql。我已設置:Postgres沒有記錄所有查詢,儘管記錄了持續時間

log_min_duration=1s 
log_statement='mod' 
log_duration=off 

對於大多數查詢,記錄工作correclty,但一些語句,比如「CREATE TABLE AS」或「插入」沒有記錄語句。日誌的持續時間,但不是完整的SQL。

有沒有其他人看過這種類型的問題,或知道爲什麼Postgres可能不會記錄SQL? (可能是一個交易塊?)任何幫助非常感謝,謝謝。

回答

1

正確的參數是log_min_duration_statement而不是log_min_duration

而且本說明,從docs

注:當一起使用此選項與log_statement,那是因爲log_statement的記錄 陳述文字不會被 重複時間日誌信息。如果您未使用系統日誌,建議您使用 使用 log_line_prefix記錄PID或會話ID,以便您可以使用進程標識或會話標識將語句消息鏈接到 更新的消息。

考慮是一個很好的解釋問題。

+0

我不確定我在文檔中錯過了什麼......謝謝 – Alex