关键词
log_statement
问题描述
如何在金仓数据库KingbaseES开启全日志?
问题分析
sys_log只能记录错误的信息,无法记录执行成功的sql语句。当我们需要查看操作过程中执行的具体的sql语句时,需要开启全日志。
解决方案
1.首先打开data目录下的kingbase.conf配置文件。
vi kingbase.conf
2.查找log_statement
/log_statement
3设置log_statement = 'all'
#log_statement = 'all'
注意:设置完之后,需要取消注释,把#删掉。因为#注释的部分,使用的是默认的配置,只有取消掉注释以后,新的配置才会生效。
4.设置好以后,重启服务。
sys_ctl –D ../../data restart
5.实时打印日志信息,在工具上进行相应的操作
tailf kingbase-2021-09-07_001246.log
示例
通过全日志查看,在工具上复制表时,复制语句执行的ddl。
1.首先设置为全日志以后,用tailf实时打印日志信息
[tma@h8-116 sys_log]$ tailf kingbase-2021-09-16_004551.log
- 在工具上进行复制表的操作
CREATE TABLE "public".t2_copy (LIKE "public"."t2" INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING DEFAULTS INCLUDING COMMENTS)
3.查看日志信息