温馨提示×

Debian PostgreSQL日志管理指南

小樊
55
2025-08-30 10:54:50
栏目: 云计算

Debian PostgreSQL日志管理指南

一、日志配置

  1. 启用日志记录
    编辑/etc/postgresql/{version}/main/postgresql.conf,设置:
    logging_collector = on
    log_directory = 'pg_log'(可自定义路径)
    log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
  2. 设置日志级别
    • log_min_messages:控制记录的日志级别(如debug5infoerror)。
    • log_statement:记录特定SQL语句(如allmodnone)。
    • log_duration:记录SQL语句执行时长。

二、日志查看

  • 实时查看sudo tail -f /var/log/postgresql/postgresql-{版本号}-main.log
  • 分页查看sudo less /var/log/postgresql/postgresql-{版本号}-main.log
  • 搜索关键字sudo grep 'ERROR' /var/log/postgresql/postgresql-{版本号}-main.log

三、日志轮转

  1. 使用logrotate工具
    编辑/etc/logrotate.d/postgresql,示例配置:
    /var/log/postgresql/postgresql-{版本号}-main.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
    }
    ```。  
    
  2. 手动轮转
    执行sudo pg_rotate_logfile(需先在postgresql.conf中启用log_rotation_agelog_rotation_size)。

四、日志归档

  • 本地归档:通过logrotate配置archive参数,将旧日志压缩存储到指定目录。
  • 远程归档:使用rsyncscp或日志管理工具(如Logstash、Fluentd)定期传输日志到远程服务器。

五、日志分析

  • pgBadger:安装后生成可视化报告,分析慢查询、连接数等。
  • ELK Stack:通过Elasticsearch、Logstash、Kibana实现日志的集中存储、搜索和可视化。

六、注意事项

  • 确保/var/log/postgresql/目录权限正确(通常为postgres:postgres)。
  • 修改配置后需重启PostgreSQL服务:sudo systemctl restart postgresql

0