1、審計清單說明
logging_collector --是否開啟日志收集開關,默認off,推薦on
log_destination --日志記錄類型,默認是stderr,只記錄錯誤輸出,推薦csvlog,總共包含:stderr, csvlog, syslog, and eventlog,
log_directory --日志路徑,默認是$PGDATA/pg_log,
log_filename --日志名稱,默認是postgresql-%Y-%m-%d_%H%M%S.log
log_file_mode --日志文件類型,默認為0600
log_truncate_on_rotation --默認為off,設置為on的話,文件內容覆蓋方式:off后面附加,on:清空再加
log_rotation_age --保留單個文件的最大時長,默認是1d,也有1h,1min,1s
log_rotation_size --保留單個文件的最大尺寸,默認是10MB
log_error_verbosity --默認為default,verbose表示冗長的
log_connections --用戶session登陸時是否寫入日志,默認off,推薦為on
log_disconnections --用戶session退出時是否寫入日志,默認off,推薦為on
log_statement --記錄用戶登陸數據庫后的各種操作
- none,即不記錄
- ddl(記錄create,drop和alter)
- mod(記錄ddl+insert,delete,update和truncate)
- all(mod+select)
log_min_duration_statement = 2s --記錄超過2秒的SQL
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s
2、推薦的設置參數
logging_collector = on
log_destination = 'csvlog'
log_truncate_on_rotation = on
log_connections = on
log_disconnections = on
log_error_verbosity = verbose
log_statement = ddl
log_min_duration_statement = 60s
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s
紅色標記的是postgresql.conf文件中沒有的
查看日志目錄和日志文件名:
show log_directory;
show log_filename;
3、參數修改方法
直接修改配置文件
postgresql.conf默認位於$PGDATA目錄下。
vi /usr/data/pgsql/data/postgresql.conf
用超級用戶運行:postgres=# SELECT pg_reload_conf();
show命令可以查詢當前狀態