postgresql開(kāi)啟數(shù)據(jù)庫(kù)審計(jì)
1.修改postgresql.conf
1.1 一般默認(rèn)在這個(gè)目錄下
/var/lib/postsql
2.審計(jì)清單說(shuō)明
logging_collector --是否開(kāi)啟日志收集開(kāi)關(guān),默認(rèn)off,推薦on
log_destination --日志記錄類型,默認(rèn)是stderr,只記錄錯(cuò)誤輸出,推薦csvlog,
總共包含:stderr, csvlog, syslog, and eventlog
log_directory --日志路徑,默認(rèn)是$PGDATA/pg_log, log_filename --日志名稱,默認(rèn)是postgresql-%Y-%m-%d_%H%M%S.log log_file_mode --日志文件類型,默認(rèn)為0600 log_truncate_on_rotation --默認(rèn)為off,設(shè)置為on的話,文件內(nèi)容覆蓋方式:off后面附加,on:清空再加 log_rotation_age --保留單個(gè)文件的最大時(shí)長(zhǎng),默認(rèn)是1d,也有1h,1min,1s log_rotation_size --保留單個(gè)文件的最大尺寸,默認(rèn)是10MB log_error_verbosity --默認(rèn)為default,verbose表示冗長(zhǎng)的 log_connections --用戶session登陸時(shí)是否寫(xiě)入日志,默認(rèn)off,推薦為on log_disconnections --用戶session退出時(shí)是否寫(xiě)入日志,默認(rèn)off,推薦為on log_statement --記錄用戶登陸數(shù)據(jù)庫(kù)后的各種操作。總共包含以下幾個(gè)值
none,表示不記錄。
ddl (記錄create,drop和alter) 記錄所有數(shù)據(jù)定義命令,比如CREATE,ALTER,和DROP語(yǔ)句。(生產(chǎn)環(huán)境)
mod (記錄ddl+insert,delete,update和truncate) 記錄所有ddl語(yǔ)句,加上數(shù)據(jù)修改語(yǔ)句INSERT,UPDATE等。
all (mod+select) 記錄所有執(zhí)行的語(yǔ)句,將此配置設(shè)置為all可跟蹤整個(gè)數(shù)據(jù)庫(kù)執(zhí)行的SQL語(yǔ)句,但會(huì)對(duì)數(shù)據(jù)庫(kù)性能產(chǎn)生較大影響,生產(chǎn)環(huán)境不建議配置此值。
3.推薦以下配置
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文件中沒(méi)有的 4.驗(yàn)證pgsql審計(jì)是否開(kāi)啟 進(jìn)入pgsql命令窗口執(zhí)行以下 ##查看審計(jì)規(guī)則 show log_statement; ##修改審計(jì)日志規(guī)則 alter system set log_statement = ddl; ##配置熱加載 select pg_reload_conf(); 或者pg_ctl觸發(fā) sighup信號(hào) pg_ctl reload ##查日志存儲(chǔ)路徑 show log_directory; ##修改日志路徑 alter system set log_directory ='/data/postgresql/log/';
原文鏈接:
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。