cat
、tail -f
、less
、grep
等命令查看日志文件,如tail -f /var/log/postgresql/postgresql-{版本號}-main.log
可實時監控日志。postgresql.conf
,關鍵參數包括:
logging_collector
:啟用日志收集(建議設為on
)。log_directory
:指定日志存儲目錄(如pg_log
)。log_filename
:定義命名規則(如含時間戳postgresql-%Y-%m-%d_%H%M%S.log
)。log_statement
:控制記錄SQL語句類型(如ddl
記錄結構變更)。log_min_duration_statement
:記錄慢查詢閾值(單位:毫秒)。logrotate
配置輪轉規則,例如每天輪轉并保留7天日志:# /etc/logrotate.d/postgresql 配置示例
/var/log/postgresql/*.log {
daily
rotate 7
compress
missingok
create 0640 postgres adm
}
log_rotation_age
(按時間輪轉,如1d
)和log_rotation_size
(按大小輪轉,如100MB
)設置。pgBadger
:生成HTML報告,分析查詢性能、錯誤等。log_line_prefix
和參數控制不記錄或脫敏。