应该在PostgreSQL中最低限度设置的日志相关参数和附加项
关于 PostgreSQL 的日志设置,基本上可以参考以下内容。
【PostgreSQL】三个必须设置的日志相关参数(1/3)
来自数据库支持最前线(8):
http://www.atmarkit.co.jp/ait/articles/1702/16/news015.html
postgresql.conf 文件的设置
在postgresql.conf中进行以下设置。
logging_collector=on
log_line_prefix='[%t]%u %d %p[%l]'
log_min_duration_statement=5000
在这之上还有以下设定就非常方便了。
log_directory = '/var/log/postgresql'
log_filename = 'postgresql.log'
log_file_mode = 0640
log_truncate_on_rotation = off
准备日志目录
根据不同Linux发行版,日志的位置各不相同,有时可能需要切换到postgres用户才能访问某些位置的日志。
将日志文件统一整理到/var/log/app_name目录下,设置为只有adm组可以访问,这样管理起来会更方便。
提前准备好以下目录。
sudo mkdir -p /var/log/postgresql
sudo chown -R postgres:adm /var/log/postgresql
sudo chmod 750 /var/log/postgresql
设置轮换
最后进行日志轮转的设置。
建议将其配置为在同一个文件中输出,然后通过操作系统的 logrotate 进行管理,这样可以更方便地与其他内容一起管理。
创建文件 /etc/logrotate.d/postgresql,并按照以下内容进行设置。
/var/log/postgresql/*.log {
daily
compress
delaycompress
notifempty
copytruncate
missingok
create 0640 postgres adm
rotate 30
}
这就是以上的内容。