如何在KingbaseES数据库中启用全量日志(Full logging)功能?
在KingbaseES中启用全量日志(记录成功执行的SQL语句)
要在KingbaseES里启用全量日志,捕获包括成功执行的SQL语句在内的所有系统活动,按以下步骤操作:
1. 修改数据库配置文件
找到KingbaseES数据目录下的kingbase.conf配置文件,编辑以下关键参数:
logging_collector = on:开启日志收集器,确保日志能写入文件log_statement = 'all':设置为all会记录所有执行的SQL语句(包含成功执行的语句,满足核心需求)log_min_messages = notice:控制日志输出的最低级别,notice能覆盖大部分详细活动信息log_directory = 'pg_log':指定日志文件的存储目录(可根据实际环境修改路径)log_line_prefix = '%t [%p]: [%c-%l] user=%u,db=%d,app=%a ':自定义日志行前缀,方便识别日志的时间、进程、用户、数据库等关键信息
若需要更细致的错误语句记录,可额外设置:
log_min_error_statement = debug5:记录所有级别的错误语句
2. 重启KingbaseES服务
配置修改后需重启服务让设置生效,执行以下命令(替换为你的实际数据目录路径):
sys_ctl restart -D /your/kingbase/data/path
3. 验证配置生效
执行一条测试SQL语句,比如:
SELECT * FROM your_test_table;
之后前往log_directory指定的目录,查看最新的日志文件,若能找到这条SQL语句的记录,说明全量日志已成功启用。
注意事项
- 全量日志会生成大量数据,会增加磁盘IO和存储压力,生产环境使用时建议搭配日志轮转参数:
log_rotation_age = 1d:每天自动轮转一次日志文件log_rotation_size = 100MB:单个日志文件达到100MB时触发轮转
- 根据业务实际需求调整日志级别,避免不必要的性能损耗
内容的提问来源于stack exchange,提问作者Phoebe_fu
相关产品推荐
相关产品推荐

