postgresql 開啟審計日志


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    --記錄用戶登陸數據庫后的各種操作

  1. none,即不記錄
  2. ddl(記錄create,drop和alter)
  3. mod(記錄ddl+insert,delete,update和truncate)
  4. 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命令可以查詢當前狀態


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM