Postgresql - extension - auto_explain

auto_explain module 提供了在不需要手動執行explain時,自動記錄慢SQL的功能。
針對跟蹤 優化SQL非常有幫助。

加載方式:

  1. 在postgresql.conf中配置(需要重啓)
shared_preload_libraries = 'auto_explain'
  1. 在會話中開啓(必須是superuser)
LOAD 'auto_explain';

參數配置:

auto_explain.log_min_duration (integer): 記錄的最短執行時間,milliseconds
auto_explain.log_analyze (boolean): explain 是否輸出爲 explain analyze
auto_explain.log_buffers (boolean): explain 中是否記錄buffers
auto_explain.log_timing (boolean): explain 中是否記錄timing
auto_explain.log_triggers (boolean): trigger執行時間是否包含在內
auto_explain.log_verbose (boolean): explain 中是否記錄verbose
auto_explain.log_settings (boolean): 更該信息是否記錄。
auto_explain.log_format (enum): 記錄格式 (text, xml, json, and yaml)
auto_explain.log_level (enum): 日誌記錄級別(DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, and LOG)
auto_explain.log_nested_statements (boolean): 是否將嵌套語句(在函數內部執行的語句)視爲記錄日誌。 禁用時,僅記錄頂級查詢計劃。
auto_explain.sample_rate (real): 是否僅解釋每個會話中的一部分語句。 默認值爲1,表示解釋所有查詢。 如果是嵌套語句,將全部解釋或不解釋。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章