首页数据库Postgresql的日志配置教程详解

Postgresql的日志配置教程详解

时间2024-02-29 17:58:03发布访客分类数据库浏览274
导读:收集整理的这篇文章主要介绍了Postgresql的日志配置教程详解,觉得挺不错的,现在分享给大家,也给大家做个参考。 目录背景配置详解配置1:日志开启与关闭配置2:日志滚动策略配置3:日...
收集整理的这篇文章主要介绍了Postgresql的日志配置教程详解,觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
  • 背景
  • 配置详解
    • 配置1:日志开启与关闭
    • 配置2:日志滚动策略
    • 配置3:日志打印时机
    • 配置4:数据库统计监控
    • 配置5:慢sql记录配置

背景

公司的项目中使用了postgreSQL(简称pg)作为其数据库管理系统,前两天环境突然崩溃了,页面无法打开。经过排查,我发现是数据库所在机器磁盘满了,通过目录和文件排序,原来是pg的日志太多(大约保留了大半年的日志在磁盘上没有被清理)。

我看了下pg的日志配置,发现基本都是用的默认配置,日志滚动没有开启,于是乎做了下相关配置优化后对pg进行重启,最后看了pg的日志滚动,恢复正常了。以下是我梳理的关于pg的日志配置项。

配置详解

配置文件:postgresql.conf

配置1:日志开启与关闭

默认为off,设置为on则pg可以记录相关日志,建议打开,否则在数据库出现异常时候,没有日志来定位具体问题

# This is used when LOGging to stderr:logging_collector =on# Enable capturing of stderr and csvlog# into log files. Required to be on for# csvlogs.# (change requires restart)

配置2:日志滚动策略

# These are only used if logging_collector is on:#配置日志目录,默认为pg_log即可log_directory = 'pg_log' # directory where log files are wrITten,# can be absolute or relative to PGDATA#pg日志文件名及其扩展名,默认即可log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,# can include strftime() escaPEs#pg日志文件的权限,默认即可log_file_mode = 0600 # creation mode for log files,#开启日志滚动阶段,这里需要设置为onlog_truncate_on_rotation =on# If on, an existing log file with the#日志保留天数,这里看实际环境,如果是测试建议1d,如果是生产环境建议7dlog_rotation_age = 1d # Automatic rotation of logfiles will#单个日志大小,默认100MB即可,比较标准的配置

配置3:日志打印时机

#发送给客户端的消息级别,建议warning即可,日志等级越低,打印的内容越多,性能上越有损耗client_min_messages = warning # values in order of decreasing detail:# debug5# debug4# debug3# debug2# debug1# log# notice# warning# error#写到数据库日志文件中的消息的级别,建议warning即可,日志等级越低,打印的内容越多,性能上越有损耗log_min_messages = warning # values in order of decreasing detail:# debug5# debug4# debug3# debug2# debug1# info# notice# warning# error# log# fatal# panic#是否记录导致数据库出现错误的SQL语句,建议warning即可,日志等级越低,打印的内容越多,性能上越有损耗log_min_error_statement = error # values in order of decreasing detail:# debug5# debug4# debug3# debug2# debug1# info# notice# warning# error# log# fatal# panic (effectively off)

配置4:数据库统计监控

#log_statement_stats为on则会开启log_parser_stats,log_planner_stats,log_executor_stats这三个选项,生产环境不建议开启,建议测试环境开启,用于定位问题。#log_parser_stats = off#log_planner_stats = off#log_executor_stats = off#log_statement_stats = off 

配置5:慢sql记录配置

#执行sql时间为2s以上的sql都会被记录下来log_min_duration_statement = 2s

以上配置再修改完之后,均需要重启pg生效。

到此这篇关于Postgresql的日志配置的文章就介绍到这了,更多相关Postgresql日志配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • PostgreSQL 性能优化之服务器参数配置操作
  • postgresql 性能参数配置方式
  • PostgreSQL归档配置及自动清理归档日志的操作
  • postgresql安装及配置超详细教程
  • PostgreSQL 逻辑复制 配置操作
  • 基于PostgreSQL pg_hba.conf 配置参数的使用说明
  • PostgreSQL 自动Vacuum配置方式

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Postgresql的日志配置教程详解
本文地址: https://pptw.com/jishu/633195.html
PostgreSQL数据库中匿名块的写法实例 mybatis中的usegeneratedkeys参数有什么用

游客 回复需填写必要信息