Postgresql
log_min_duration_statement 設置被忽略
我
Postgresql 9.1
在 Ubuntu 上執行。確切的 Postgresql 版本9.1+129ubuntu1
如我的包管理器所示。我有 2 個正在使用中的數據庫,它們是從遠端伺服器使用的。
我希望記錄執行時間較長的查詢。所以我在
/etc/postgresql/9.1/main/postgresql.conf
文件中設置了以下參數log_min_duration_statement = 10000 log_statement = 'mod'
因此 Postgresql 將記錄耗時超過 10 秒的查詢。
但是當我
reload
配置 postgres 時,Postgresql 開始記錄每個符合log_statement
值的查詢。我將持續時間設置為 100 秒以確保log_min_duration_statement = 100000
但是 Postgresql 會不斷記錄每個符合
log_statement
值的查詢,而不管log_min_duration_statement
值如何。設置
log_statement
為none
似乎停止記錄。關於配置,我有什麼遺漏的嗎?
你很親密。您的最後一個想法實際上是要走的路:
log_statement = none log_min_duration_statement = 10000
然後不會記錄任何語句,除了那些執行時間超過 10 秒的語句 - 包括查詢字元串本身。日誌記錄似乎已經停止,因為 10 秒是一個高門檻值。我通常使用 2 秒,但是 YMMV。
這個關於 SO 的相關答案有更多: