1、审计清单说明
logging_collector --是否开启日志收集开关,默认off,推荐on
log_destination --日志记录类型,默认是stderr,只记录错误输出,推荐csvlog,总共包含:stderr, csvlog, syslog, and eventlog,
log_directory --日志路径,默认是$PGDATA/pg_log,
log_filename --日志名称,默认是postgresql-%Y-%m-%d_%H%M%S.log
log_file_mode --日志文件类型,默认为0600
log_truncate_on_rotation --默认为off,设置为on的话,文件内容覆盖方式:off后面附加,on:清空再加
log_rotation_age --保留单个文件的最大时长,默认是1d,也有1h,1min,1s
log_rotation_size --保留单个文件的最大尺寸,默认是10MB
log_error_verbosity --默认为default,verbose表示冗长的
log_connections --用户session登陆时是否写入日志,默认off,推荐为on
log_disconnections --用户session退出时是否写入日志,默认off,推荐为on
log_statement --记录用户登陆数据库后的各种操作
- none,即不记录
- ddl(记录create,drop和alter)
- mod(记录ddl+insert,delete,update和truncate)
- all(mod+select)
log_min_duration_statement = 2s --记录超过2秒的SQL
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s
2、推荐的设置参数
logging_collector = on
log_destination = 'csvlog'
log_truncate_on_rotation = on
log_connections = on
log_disconnections = on
log_error_verbosity = verbose
log_statement = ddl
log_min_duration_statement = 60s
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s
红色标记的是postgresql.conf文件中没有的
查看日志目录和日志文件名:
show log_directory;
show log_filename;
3、参数修改方法
直接修改配置文件
postgresql.conf默认位于$PGDATA目录下。
vi /usr/data/pgsql/data/postgresql.conf
用超级用户运行:postgres=# SELECT pg_reload_conf();
show命令可以查询当前状态