/var/log/postgresql/
目录,文件名格式如postgresql-{版本号}-main.log
。tail -f
命令跟踪最新日志,如sudo tail -f /var/log/postgresql/postgresql-16-main.log
。grep
过滤特定错误,如grep "ERROR" /var/log/postgresql/postgresql-*.log
。pgbadger /var/log/postgresql/*.log -o report.html
,支持增量分析-I
和多线程-j
。Logstash
:适合集成到ELK栈进行复杂日志分析。log_min_duration_statement
参数设置为合理阈值(如3秒),记录慢SQL。log_connections
和log_disconnections
记录,分析连接异常(如频繁断开)。pg_stat_activity
视图实时查看当前连接状态。log_lock_waits
记录锁等待事件,结合pg_locks
系统表分析阻塞源。deadlock_timeout
参数,优化死锁检测频率。log_rotation_age
(按天/小时轮转)和log_rotation_size
(按文件大小轮转)控制日志数量。log_filename = 'postgresql-%d.log'
(按天生成日志)。chmod 640
)。log_line_prefix
避免记录敏感参数。