在刚安装完的 Postgresql 中,通常只需要像下面这样配置日志,并保持其他默认值,就基本可以满足用户大多数需求:
# 启动日志收集, 这是一个后台进程,抓取发送到stderr的日志消息,并会将他们重定向到日志文件。 logging_collector = on
# 日志输出路径,可以是自定义绝对路径或相对于数据目录 PGDATA 的相对路径
log_directory = ‘log‘
# 文件名,可以带上格式字符串
log_filename = ‘postgresql-%a.log‘
# 当生成新的文件时,文件名已存在,则覆盖同名旧文件名
log_truncate_on_rotation = on
#设置日志记录内容,log_statement:none,ddl,mod,and all 默认是 none
# None表示不记录,ddl记录所有数据定义命令,比如CREATE,ALTER,和DROP语句,
# mod记录所有ddl语句,加上数据修改语句INSERT,UPDATE等
# all记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的sql语句,但会对数据库性能产生较大影响,生产环境不建议配置此值
log_statement = mod
# 以上设置完成之后,可以记录到 update、drop 等,但是并不会记录 select 语句,加上 log_min_duration_statement = 0 才可以记录到select
log_min_duration_statement=0
完成以上设置后,7天后会有7个日志文件,分别为周一到周日,日志文件会不断的覆盖前一个星期,可以记录到执行的所有sql语句