示例:啟用 sql 跟蹤
postgresql 日誌支援的輸出格式有 stderr(預設), csvlog , syslog
一般的錯誤跟蹤,只需在配置檔案 【postgresql.conf】簡單設定幾個引數,當然還有錯誤級別等要設定。
logging_collector = on
log_destination = 'stderr'
log_directory = 'log'
log_filename = 'postgresql-%y-%m-%d_%h%m%s.log'
select name,setting,vartype,boot_val,reset_val from pg_settings
where name in('logging_collector','log_destination','log_directory','log_filename');
預設的跟蹤日誌記錄在 pgdate/log 中,如 /usr/local/pgsql/data/log 。
其他幾個重要引數說明:
log_rotation_age = 1440 #minute,多長時間建立新的檔案記錄日誌。0 表示禁擴充套件。
log_rotation_size = 10240 #kb,檔案多大後建立新的檔案記錄日誌。0 表示禁擴充套件。
log_truncate_on_rotation = on #可重用同名日誌檔案
當需要跟蹤sql語句或者慢語句,得需要設定以下引數:
log_statement = all #需設定跟蹤所有語句,否則只能跟蹤出錯資訊
log_min_duration_statement = 5000 #milliseconds,記錄執行5秒及以上的語句
log_statement:
設定跟蹤的語句型別,有4種型別:none(預設), ddl, mod, all。跟蹤所有語句時可設定為 "all"。
log_min_duration_statement:
跟蹤慢查詢語句,單位為毫秒。如設定 5000,表示日誌將記錄執行5秒以上的sql語句。
當 log_statement=all 和 log_min_duration_statement 同時設定時,將跟蹤所有語句,忽略log_min_duration_statement 設定。所以需按情況設定其中乙個或兩個值。
PostgreSQL 慢查詢SQL 追蹤配置
postgresql 日誌支援的輸出格式有 stderr 預設 csvlog syslog 一般的錯誤跟蹤,只需在配置檔案 postgresql.conf 簡單設定幾個引數,當然還有錯誤級別等要設定。logging collector on log destination stderr log di...
PostgreSQL 慢查詢SQL跟蹤操作
postgresql 開啟慢sql捕獲在排查問題時是個很有效的手段。根據慢sql讓我在工作中真正解決了實際問題,很有幫助。postgresql 日誌支援的輸出格式有 stderr 預設 csvlog syslog 一般的錯誤跟蹤,只需在配置檔案 postgresql.conf 簡單設定幾個引數,當然...
定時傳送MySQL的TOP 10慢查詢SQL
幫乙個開發朋友實現乙個功能 他希望 每天能定時傳送前一天的top 10 的慢查詢sql 給研發的負責人。因為不太懂資料庫,所以最好不要安裝第三方的工具。因此用shell 寫了乙個指令碼,把這個指令碼加入到crontab裡,即可實現每天傳送前一天的top 10 慢查詢。bin bash mysql w...