示例:啟用 SQL 跟蹤
PostgreSQL 日志支持的輸出格式有 stderr(默認), csvlog , syslog
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'
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_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 設置。所以需按情況設置其中一個或兩個值。
---------------------
原文:https://blog.csdn.net/kk185800961/article/details/78490191