這篇文章主要介紹了PostgreSQL 日志文件的所在位置,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧。
1、查看postgresql.conf文件的配置,看日志文件在哪
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = o
2、日志的分類
pg_log(數(shù)據(jù)庫運行日志) 內(nèi)容可讀 默認(rèn)關(guān)閉的,需要設(shè)置參數(shù)啟動
pg_xlog(WAL 日志,即重做日志) 內(nèi)容一般不具有可讀性 強制開啟
pg_clog(事務(wù)提交日志,記錄的是事務(wù)的元數(shù)據(jù)) 內(nèi)容一般不具有可讀性 強制開啟
3、各個日志的作用
(1)pg_log 這個日志一般是記錄服務(wù)器與DB的狀態(tài),比如各種Error信息,定位慢查詢SQL,數(shù)據(jù)庫的啟動關(guān)閉信息,發(fā)生checkpoint過于頻繁等的告警信息,諸如此類。該日志有.csv格式和.log。
建議使用.csv格式,因為它一般會按大小和時間自動切割,畢竟查看一個巨大的日志文件比查看不同時間段的多個日志要難得多。
pg_log是可以被清理刪除,壓縮打包或者轉(zhuǎn)移,同時并不影響DB的正常運行。當(dāng)我們有遇到DB無法啟動或者更改參數(shù)沒有生效時,第一個想到的就是查看這個日志。
(2)pg_xlog 這個日志是記錄的Postgresql的WAL信息,也就是一些事務(wù)日志信息(transaction log)。默認(rèn)單個大小是16M,源碼安裝的時候可以更改其大?。?/configure --with-wal-segsize=target_value 參數(shù),即可設(shè)置)這些日志會在定時回滾恢復(fù)(PITR), 流復(fù)制(Replication Stream)以及歸檔時能被用到,這些日志是非常重要的,記錄著數(shù)據(jù)庫發(fā)生的各種事務(wù)信息,不得隨意刪除或者移動這類日志文件,不然你的數(shù)據(jù)庫會有無法恢復(fù)的風(fēng)險。
補充:postgresql 日志中報xlog目錄中文件找不到
通過pg自己的命令強制重置事務(wù)日志 , 命令行進(jìn)到pg的bin目錄
輸入 pg_resetxlog -f %pgdata%其中-f為強制, %pgdata%需根據(jù)現(xiàn)場環(huán)境具體到data目錄
恢復(fù)后數(shù)據(jù)庫的所有用戶密碼會被重置掉,配置成免密登錄pg,將密碼進(jìn)行修改
文章來源:腳本之家
來源地址:https://www.jb51.net/article/204280.htm
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!