pgsql开启数据库审计

1.修改postgresql.conf

1.1 一般默认在这个目录下

/var/lib/postsql

2.审计清单说明

  • 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) 记录所有数据定义命令,比如CREATE,ALTER,和DROP语句。(生产环境)
mod (记录ddl+insert,delete,update和truncate) 记录所有ddl语句,加上数据修改语句INSERT,UPDATE等。
all (mod+select) 记录所有执行的语句,将此配置设置为all可跟踪整个数据库执行的SQL语句,但会对数据库性能产生较大影响,生产环境不建议配置此值。
,

3.推荐以下配置

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文件中没有的

4.验证pgsql审计是否开启

进入pgsql命令窗口执行以下

##查看审计规则
show log_statement;

##修改审计日志规则
alter system set log_statement = ddl;

##配置热加载
select pg_reload_conf();
或者pg_ctl触发 sighup信号
pg_ctl reload

##查日志存储路径
show log_directory;

##修改日志路径
alter system set log_directory ='/data/postgresql/log/';

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往日时光--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值