Ubuntu 18.04下PostgreSQL 9.5日志路径调整与分库独立日志配置问题
PostgreSQL 9.5 按数据库拆分独立日志配置方案
Ubuntu 源安装的 PostgreSQL 软件包默认通过启动脚本接管 stderr 输出,直接写入固定路径日志文件,因此你在 postgresql.conf 中配置的 log* 相关参数不会生效,可按照以下步骤调整配置实现需求:
1. 调整 PostgreSQL 主配置文件
编辑对应集群的主配置文件 /etc/postgresql/9.5/*clustername*/postgresql.conf,修改以下参数:
- 开启 PostgreSQL 自带日志收集器,接管日志输出:
logging_collector = on - 设置日志存储根目录:
log_directory = '/var/log/postgresql/*clustername*' - 配置日志文件名规则,
%d会自动替换为实际数据库名:log_filename = '%d.log' - 关闭默认的日志自动切分规则,避免生成多余的后缀文件:
log_rotation_size = 0 log_rotation_age = 0 - 保留原有日志输出目标配置即可:
log_destination = 'stderr'
2. 创建日志目录并配置权限
执行以下命令创建对应日志目录,注意替换命令中的 clustername 为你实际使用的集群名称:
mkdir -p /var/log/postgresql/*clustername* chown postgres:postgres /var/log/postgresql/*clustername* chmod 700 /var/log/postgresql/*clustername*
3. 重启服务生效
执行以下命令重启 PostgreSQL 集群使配置生效:
systemctl restart postgresql@9.5-*clustername*.service
补充说明
- 如果需要控制单日志文件大小、按周期切分日志,可以额外配置
log_rotation_size、log_rotation_age参数,或者配合系统 logrotate 服务实现切分和归档 - PostgreSQL 9.5 已停止官方维护,存在已知安全风险,建议尽快规划升级到受支持的稳定版本
内容的提问来源于stack exchange,提问作者dexter86
相关产品推荐
相关产品推荐

