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