99:PostgreSQL开启SQL语句日志收集

时间:2025-03-28 18:28:48
  • #是否开启日志收集(包括系统日志、错误日志等)
  • logging_collector = on
  • #日志文件目录。相对于$PGDATA的子目录
  • log_directory = 'log'
  • #日志文件名
  • log_filename = 'postgresql-%Y-%m-%d_%H%M%'
  • #日志文件权限。默认0600。如果希望服务器上其他用户也能读取则0644(存在泄露信息风险)
  • log_file_mode = 0600
  • #按日志文件时长切换日志。默认1d表示24小时。0为不按时长切换
  • log_rotation_age = 1d
  • #按日志文件大小切换日志。默认10MB。 0为不按大小切换
  • log_rotation_size = 0
  • #日志内容项定义
  • log_line_prefix = '%m [%p] %a %u %d %r '
  • #------- 以下与记录SQL语句密切相关 -------
  • #记录SQL范围,类型可为:none, ddl, mod, all
  • log_statement = 'mod'
  • #记录语句执行时长(单位毫秒)。超过本阈值才对语句执行时长进行记录
  • # -1 is disabled,
  • # 0 logs all statements and their durations
  • # > 0 logs only statements running at least this number of milliseconds
  • log_min_duration_statement = 0
  • #是否记录连接创建(例如登录)
  • log_connections = on
  • #是否记录连接断开(例如登出)
  • log_disconnections = on
  • #是否记录获取锁超时。当会话获取lock时长大于等于deadlock_timeout配置则记录
  • log_lock_waits = on