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)容可讀 默認關(guān)閉的,需要設置參數(shù)啟動
pg_xlog(WAL 日志,即重做日志) 內(nèi)容一般不具有可讀性 強制開啟
pg_clog(事務提交日志,記錄的是事務的元數(shù)據(jù)) 內(nèi)容一般不具有可讀性 強制開啟
3、各個日志的作用
(1)pg_log 這個日志一般是記錄服務器與DB的狀態(tài),比如各種Error信息,定位慢查詢SQL,數(shù)據(jù)庫的啟動關(guān)閉信息,發(fā)生checkpoint過于頻繁等的告警信息,諸如此類。該日志有.csv格式和.log。
建議使用.csv格式,因為它一般會按大小和時間自動切割,畢竟查看一個巨大的日志文件比查看不同時間段的多個日志要難得多。
pg_log是可以被清理刪除,壓縮打包或者轉(zhuǎn)移,同時并不影響DB的正常運行。當我們有遇到DB無法啟動或者更改參數(shù)沒有生效時,第一個想到的就是查看這個日志。
(2)pg_xlog 這個日志是記錄的Postgresql的WAL信息,也就是一些事務日志信息(transaction log)。默認單個大小是16M,源碼安裝的時候可以更改其大小(./configure --with-wal-segsize=target_value 參數(shù),即可設置)這些日志會在定時回滾恢復(PITR), 流復制(Replication Stream)以及歸檔時能被用到,這些日志是非常重要的,記錄著數(shù)據(jù)庫發(fā)生的各種事務信息,不得隨意刪除或者移動這類日志文件,不然你的數(shù)據(jù)庫會有無法恢復的風險。
補充:postgresql 日志中報xlog目錄中文件找不到
通過pg自己的命令強制重置事務日志 , 命令行進到pg的bin目錄
輸入 pg_resetxlog -f %pgdata%
其中-f為強制, %pgdata%需根據(jù)現(xiàn)場環(huán)境具體到data目錄
恢復后數(shù)據(jù)庫的所有用戶密碼會被重置掉,配置成免密登錄pg,將密碼進行修改
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Postgresql 默認用戶名與密碼的操作
- postgresql 中的加密擴展插件pgcrypto用法說明
- PostgreSQL表膨脹監(jiān)控案例(精確計算)
- postgresql 如何關(guān)閉自動提交
- Postgresql 解決pg掉電后無法重啟的問題
- PostgreSQL 恢復誤刪數(shù)據(jù)的操作
- PostgreSQL 實現(xiàn)登錄及修改密碼操作