PolarDB PostgreSQL轻量版提供审计日志,允许数据库管理员使用审计日志跟踪分析数据库活动。
日志打印
PolarDB PostgreSQL轻量版的日志文件默认分为以下3类:
审计日志(
_audit.log
):默认记录所有执行的SQL语句(log_statement='all'
)。慢日志(
_slow.log
):记录执行时间超过log_min_duration_statement
控制(单位毫秒)的SQL语句。错误日志(
_error.log
):记录执行错误的SQL和系统报错信息。
日志处理机制
PolarDB PostgreSQL轻量版的执行进程将相关日志发送至syslogger
进程进行打印。鉴于单个syslogger
进程存在性能限制,PolarDB支持配置多个syslogger
进程打印日志。在多个syslogger
进程中,第一个进程(logger 0
)负责错误日志和慢日志的打印,其它进程(logger 1
,logger 2
等)负责打印审计日志。每个负责审计日志的syslogger
进程负责打印一个日志文件,如果存在多个审计日志进程,将出现多个并行打印的审计日志文件,日志文件名后缀由syslogger
的下标加上文件名后缀构成,例如,多个进程并行执行时,logger 1
进程打印的审计日志后缀将为 _1_audit.log
。
日志审计参数设置
除基础的日志打印参数外,PolarDB PostgreSQL轻量版还支持以下审计日志相关参数。
参数名称 | 描述 |
参数名称 | 描述 |
polar_enable_multi_syslogger | 是否启用多个 |
polar_num_of_sysloggers | 启用多个 此参数仅支持在配置文件中设置。 |
polar_enable_syslog_pipe_buffer | 是否启用 |
polar_enable_syslog_file_buffer | 是否启用 |
polar_audit_log_flush_timeout | 设置审计日志的超时下刷时间,默认10秒。如果审计日志没有写满 |
polar_auditlog_max_query_length | 设置打印日志的截断长度。默认为4096字节,最大值为65536字节。超过此选项长度的日志将被截断,可动态设置。 |
polar_enable_error_to_audit_log | 是否将执行出错的SQL记入审计日志。默认开启,即在审计日志中记录执行错误的SQL及其报错信息。 |
polar_max_log_files | 设置错误日志的最大保留文件个数,默认20。 |
polar_max_auditlog_files | 设置审计日志的最大保留文件个数,默认20。 |
polar_max_slowlog_files | 设置慢日志的最大保留文件个数,默认20。 |
log_connections | 记录连接用户及数据库。 |
log_disconnections | 记录连接时长。 |
审计日志内容
审计日志包括以下内容:
时间戳:由参数
log_line_prefix
定义,默认值%m [%p]
。日志内容:包含执行时长、SQL内容及SQL参数。
示例
2020-07-30 08:36:08.042 UTC [19626] LOG: execute P0_7: UPDATE pgbench_tellers SET tbalance = tbalance + $1 WHERE tid = $2;params: $1 = '-203', $2 = '86'
- 本页导读 (1)
- 日志打印
- 日志审计参数设置
- 审计日志内容