如何配置RDS for PostgreSQL 日志相关参数

数据库关系型数据库技术服务知识库
问题描述

如何配置RDS for PostgreSQL 日志相关参数,需要注意什么?

问题分析

在PostgreSQL中,最重要的日志相关的参数有两个,分别为

  1. log_statement[1]
  2. log_min_duration_statement

其中 log_statement 决定了您要记录什么类型的SQL语句,log_min_duration_statement 控制了记录时间的阈值。

解决方案

1.log_statement

log_statement 控制需要记录的SQL语句类型,如DDL,mod, 以及all, 具体解释如下:

  • ddl 记录所有数据定义语言 (DDL) 语句,例如 CREATE、ALTER 和 DROP。
  • mod 记录所有 DDL 和数据修改语言 (DML) 语句,例如 INSERT、UPDATE 和 DELETE。
  • all 记录所有查询,这个参数会忽略log_min_duration_statement的设定。
test=# show log_statement;
 log_statement 
---------------
 ddl
(1 row)
```
`
**注** :如果您使用all,在业务繁忙的场景下,日志量可能是巨大的,建议您谨慎评估业务上是否需要使用all,同时监控磁盘占用空间。
## 2.log_min_duration_statement
log_min_duration_statement 可以以ms为单位去设置语句执行时间的记录阈值,如果该值设置为500,则以为这执行时间超过0.5s的SQL语句会被记录到PostgreSQL 日志中,如果设置为0,会默认记录所有的SQL语句。同log_min_duration_statement 参数与log_statement 不会相互干扰,也不会互相依赖。
````undefined
test=# show log_min_duration_statement;
 log_min_duration_statement 
----------------------------
 1s
(1 row)
```
`
**注:** 如果您将此参数设置为0,可能消耗大量的存储空间,建议您监控磁盘存储空间。避免存储空间被占满导致业务受损。
# 参考文档
[1] [https://www.postgresql.org/docs/11/runtime-config-logging.html](https://www.postgresql.org/docs/11/runtime-config-logging.html)
**如果您有其他问题,欢迎您联系火山引擎**[技术支持服务](https://console.volcengine.com/ticket/createTicketV2/)

26
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论