HGDB的log打印配置(APP)

目录

环境

文档用途

详细信息

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7

版本:4.3.4.7

文档用途

软件开发商适配瀚高数据库时,会执行很多SQL语句,有的情况需要把SQL语句打印到log文件,便于查找和分析。

例如:

1)应用系统访问数据库时,执行的SQL语句报错了,需要把出错的SQL语句打印出来调查原因

2)应用系统访问数据库时,执行的SQL语句用时很长,需要对SQL语句进行优化,这时就需要把执行慢的SQL语句打印到log文件

3)客户想把所有SQL语句都打印,并且需要带有执行时间,这样方便查看SQL语句的具体执行时间

打印SQL语句到log文件,需要配置数据库的log参数,

配置方式一:通过(alter system set 参数名 = 值;)语句进行修改

配置方式二:修改data目录下的postgresql.conf文件。

配置之后,重启数据库服务即可生效。

详细信息

一、影响log打印的配置参数介绍

logging_collector:开启打印日志功能,on是开启,off是关闭,默认off。

log_statement:设定要打印的SQL语句类型,默认none,具体值有none、ddl、mod(增删改查、ddl)和all(所有语句)。

它不受log_duration和log_min_duration_statement的影响,会打印指定类型的SQL语句。

log_duration:显示打印时间,默认off。开启后,不管是否打印SQL语句,执行时间都会打印,不受其他参数的影响。

log_min_duration_statement:设定一个时间,设定的目的是为了打印出性能慢的SQL语句。默认-1,关闭该功能。

注:如果想打印执行慢的SQL语句,只设定log_min_duration_statement即可,参数log_statement需要设置为none。如果同时设置了log_statement和log_min_duration_statement,则会打印所有的语句,性能好的SQL语句也会被打印,原因是log_statement起主导作用。

参数组合配置:

log_statement --打印指定类型的SQL语句

log_statement、log_duration --打印带有执行时间的SQL语句

log_min_duration_statement>0、log_duration --打印执行慢且带有执行时间的SQL语句

log_min_duration_statement=0、log_duration --打印带有执行时间的所有SQL语句

 

二、下面介绍几种常用的log配置

1、不打印SQL语句的log配置

alter system set logging_collector = off;--关闭打印日志功能

alter system set log_statement = 'none';--不打印执行语句

alter system set log_min_duration_statement = -1;--关闭打印性能慢的执行语句

注:瀚高数据库安装之后,如果没有进行修改,可以不用执行上面语句,因为都是默认值。

 

2、打印SQL语句,不打印执行时间的log配置

alter system set logging_collector = on;开启打印日志功能

alter system set log_statement = 'all';--设定需要打印的SQL语句类型

 

3、打印SQL语句,也打印执行时间的log配置

 

alter system set logging_collector = on;开启打印日志功能

alter system set log_statement = 'all';--设定需要打印的SQL语句类型

alter system set log_duration = on;--开启打印执行时间的功能

或者

alter system set logging_collector = on;开启打印日志功能

alter system set log_statement = 'none';--设定了参数log_min_duration_statement,log_statement需要设置为none

alter system set log_duration = on;--开启打印执行时间的功能

alter system set log_min_duration_statement = 0;--设定为0,打印所有的SQL语句

 

4、打印性能慢的SQL语句的log配置,例如3ms以上

 

alter system set logging_collector = on;开启打印日志功能

alter system set log_statement = 'none';

alter system set log_duration = on;--开启打印执行时间的功能

alter system set log_min_duration_statement = 3ms;--设定性能慢的最小值

 

同时,打印SQL语句时,还需要配置以下参数:

alter system set log_destination = 'csvlog';--打印CSV格式的日志

alter system set log_directory = 'hgdb_log';--日志放置路径

alter system set log_file name = 'highgodb_%d.log';--日志文件名(按天命名)

alter system set log_rotation_age = '1d';--保留期限

alter system set log_rotation_size = 0;--设定日志大小,0代表无限制

alter system set log_truncate_on_rotation = on;--开启日志覆盖功能

 

测试结果示例请参照附件【HGDB的log打印配置测试结果.docx】

以上。

更多详细内容请登录【瀚高技术支持平台】 查看https://support.highgo.com/#/index/docContent/2e564cff04da45c5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值