client_min_messages (enum)
控制被發送給客戶端的消息級別。有效值是DEBUG5、 DEBUG4、DEBUG3、DEBUG2、 DEBUG1、LOG、NOTICE、 WARNING、ERROR、FATAL和PANIC。每個級別都包括其后的所有級別。級別越靠后,被發送的消息越少。默認值是NOTICE。注意LOG在這里有與log_min_messages中不同的排名。
log_min_messages (enum)
控制哪些消息級別被寫入到服務器日志。有效值是DEBUG5、DEBUG4、 DEBUG3、DEBUG2、DEBUG1、 INFO、NOTICE、WARNING、 ERROR、LOG、FATAL和 PANIC。每個級別都包括以后的所有級別。級別越靠后,被發送的消息越少。默認值是WARNING。注意LOG在這里有與log_min_messages中不同的排名。只有超級用戶可以改變這個設置。
log_min_error_statement (enum)
控制哪些導致一個錯誤情況的SQL 語句被記錄在服務器日志中。任何指定嚴重級別或更高級別的消息的當前 SQL 語句將被包括在日志項中。有效值是DEBUG5、 DEBUG4、DEBUG3、 DEBUG2、DEBUG1、 INFO、NOTICE、 WARNING、ERROR、 LOG、 FATAL和PANIC。默認值是ERROR,它表示導致錯誤、日志消息、致命錯誤或恐慌錯誤的語句將被記錄在日志中。要有效地關閉記錄失敗語句,將這個參數設置為PANIC。只有超級用戶可以改變這個設置。
log_min_duration_statement (integer)
如果語句運行至少指定的毫秒數,將導致記錄每一個這種完成的語句的持續時間。將這個參數設置為零將打印所有語句的執行時間。設置為-1 (默認值)將停止記錄語句持續時間。例如,如果你設置它為250ms,那么所有運行 250ms 或更久的 SQL 語句將被記錄。啟用這個參數可以有助于追蹤應用中未優化的查詢。只有超級用戶可以改變這個設置。對于使用擴展查詢協議的客戶端,解析、綁定和執行步驟的持續時間將被獨立記錄。注意當把這個選項和log_statement一起使用時,已經被log_statement記錄的語句文本不會在持續時間日志消息中重復。如果你沒有使用syslog,我們推薦你使用log_line_prefix記錄 PID 或會話 ID,這樣你可以使用進程 ID 或會話 ID 把語句消息鏈接到后來的持續時間消息。
表1解釋了TeleDB所使用的消息嚴重級別。如果日志輸出被發送到syslog或 Windows 的eventlog,嚴重級別會按照表中所示進行轉換。
表6-1 表1 消息嚴重級別
| 嚴重性 | 用法 | syslog | eventlog |
|---|---|---|---|
| DEBUG1..DEBUG5 | 為開發者提供連續的更詳細的信息。 | DEBUG | INFORMATION |
| INFO | 提供用戶隱式要求的信息,例如來自VACUUM VERBOSE的輸出。 | INFO | INFORMATION |
| NOTICE | 提供可能對用戶有用的信息,例如長標識符截斷提示。 | NOTICE | INFORMATION |
| WARNING | 提供可能出現的問題的警告,例如在一個事務塊外COMMIT。 | NOTICE | WARNING |
| ERROR | 報告一個導致當前命令中斷的錯誤。 | WARNING | ERROR |
| LOG | 報告管理員可能感興趣的信息,例如檢查點活動。 | INFO | INFORMATION |
| FATAL | 報告一個導致當前會話中斷的錯誤。 | ERR | ERROR |
| PANIC | 報告一個導致所有數據庫會話中斷的錯誤。 | CRIT | ERROR |