数据库日志相关参数:默认设置

log_destination = 'stderr'      # Valid values are combinations of# stderr, csvlog, syslog, and eventlog,# depending on platform.  csvlog# requires logging_collector to be on.logging_collector = on          # Enable capturing of stderr and csvlog
log_directory = 'sys_log'                       # directory where log files are written,
#log_filename = 'kingbase-%Y-%m-%d_%H%M%S.log'  # log file name pattern,
#log_file_mode = 0600                   # creation mode for log files,
#log_rotation_age = 1d                  # Automatic rotation of logfiles will(按时间自动轮换分割日志)
#log_rotation_size = 10MB               # Automatic rotation of logfiles will(按大小自动轮换分割日志)

其中log_destination包括stderr、csvlog和syslog,默认值是stderr格式,csvlog记录内容会比stderr更详细

—stderr时

[kingbase2@localhost sys_log]$ tail -1 kingbase-2023-01-04_000000.log
2023-01-04 14:12:56.979 CST [3037] STATEMENT:  select userid::regrole, dbid, query from sys_stat_statements order by mean_time desc limit 5;

—csvlog 时,会记录数据库、用户信息等

TEST=# alter system set log_destination ='csvlog';
ALTER SYSTEM
TEST=#
TEST=# select sys_reload_conf();sys_reload_conf
-----------------t
(1 row)TEST=# show log_destination ;log_destination
-----------------csvlog
(1 row)[kingbase2@localhost sys_log]$ tail -4 kingbase-2023-01-05_153654.csv
2023-01-05 15:39:13.368 CST,"system","test",4934,"[local]",63b67e91.1346,1,"idle",2023-01-05 15:38:57 CST,4/4681,0,ERROR,42601,"syntax error at or near ""switch""",,,,,,"alter system switch logfile;",14,,"kingbase_*&+_"

KingbaseES数据库日志查看方式只能到默认的sys_log目录下打开数据库日志查看,这种查看方式类似于oracle中的alert log

[kingbase2@localhost sys_log]$ cat  kingbase-2023-01-05_153654.csv |egrep error
2023-01-05 15:39:13.368 CST,"system","test",4934,"[local]",63b67e91.1346,1,"idle",2023-01-05 15:38:57 CST,4/4681,0,ERROR,42601,"syntax error at or near ""switch""",,,,,,"alter system switch logfile;",14,,"kingbase_*&+_"

但是有的时候我们会被这种显示格式困扰,不容易直观的查看。
下面介绍一种日志查看方式:

TEST=# CREATE   TABLE public.sys_log (
TEST(#      logtime timestamp with time zone,
TEST(#      loguser text,
TEST(#      logdatabase text,
TEST(#      logpid text,
TEST(#      loghost text,
TEST(#      logsessionid text,
TEST(#      logcmdcount text,
TEST(#      logcmdtag text,
TEST(#      logsessiontime timestamp with time zone,
TEST(#      logtransaction text,
TEST(#      log_level  text,
TEST(#      logseverity  text,
TEST(#      logstate text,
TEST(#      logmessage text,
TEST(#      logdetail text,
TEST(#      loghint text,
TEST(#      loginternalquery text,
TEST(#      loginternalquerypos text,
TEST(#      logcontext text,
TEST(#      logquery text,
TEST(#      logquerypos text,
TEST(#      loglocation text,
TEST(#      logapplicationname text);
CREATE TABLE
test=# copy public.sys_log from '/opt/Kingbase/ES/V8/data/sys_log/kingbase-2023-01-05_153654.csv' with csv;
COPY 1
test=# select * from public.sys_log limit 1;
TEST=# \x
Expanded display is on.
TEST=# select * from public.sys_log limit 1;
-[ RECORD 1 ]-------+---------------------------------
logtime             | 2023-01-06 05:39:13.368000+08
loguser             | system
logdatabase         | test
logpid              | 4934
loghost             | [local]
logsessionid        | 63b67e91.1346
logcmdcount         | 1
logcmdtag           | idle
logsessiontime      | 2023-01-06 05:38:57+08
logtransaction      | 4/4681
log_level           | 0
logseverity         | ERROR
logstate            | 42601
logmessage          | syntax error at or near "switch"
logdetail           |
loghint             |
loginternalquery    |
loginternalquerypos |
logcontext          |
logquery            | alter system switch logfile;
logquerypos         | 14
loglocation         |
logapplicationname  | kingbase_*&+_

注:
logtransaction 记录事务的一个位置
log_level 日志的级别
logseverity 对应FATAL, ERROR, WARN, INFO, ALL,等等,根据设置的level去记录对应的日志。
这样可以过滤出想要的内容,查看更加直观简洁,但只能每一个日志文件copy进去一张表中。

还有一种方法,可以使用file_fdw插件去直接读取数据库以外的日志文件,如下所示:

test=# create extension file_fdw;
CREATE EXTENSION
test=# \dx file_fdw;List of installed extensionsName   | Version | Schema |                Description
----------+---------+--------+-------------------------------------------file_fdw | 1.0     | public | foreign-data wrapper for flat file access
(1 row)创建外部表接口
test=# create server ser_file_fdw foreign data wrapper file_fdw;
CREATE SERVER查看外部服务接口
test=# \desList of foreign serversName     | Owner  | Foreign-data wrapper
--------------+--------+----------------------ser_file_fdw | system | file_fdwsysaudit_svr | system | sysaudit_fdw
(2 rows)创建外部表查看日志
test=# CREATE foreign TABLE public.sys_log_svt (
test(# logtime timestamp with time zone,
test(# loguser text,
test(# logdatabase text,
test(# logpid text,
test(# loghost text,
test(# logsessionid text,
test(# logcmdcount text,
test(# logcmdtag text,
test(# logsessiontime timestamp with time zone,
test(# logtransaction text,
test(# log_level text,
test(# logseverity text,
test(# logstate text,
test(# logmessage text,
test(# logdetail text,
test(# loghint text,
test(# loginternalquery text,
test(# loginternalquerypos text,
test(# logcontext text,
test(# logquery text,
test(# logquerypos text,
test(# loglocation text,
test(# logapplicationname text
<kingbase-2023-01-05_153654.csv',format 'csv',header 'true',delimiter ',',null ' ');
CREATE FOREIGN TABLEtest=# select * from sys_log_svt limit 1;
logtime | loguser | logdatabase | logpid | loghost | logsessionid | logcmdcount | logcmdtag |
logsessiontime | logtransaction | log_level | logseverity | logstate | logmessa
ge | logdetail | loghint
| loginternalquery | loginternalquerypos | logcontext | logquery
| logquerypos | loglocation | logapplicationname
-------------------------------+---------+-------------+--------+---------+---------------+-------------+-----------+---
---------------------+----------------+-----------+-------------+----------+--------------------------------------------
--------------------------------------+-----------+---------------------------------------------------------------------
------------------------------+------------------+---------------------+------------+-----------------------------------
--+-------------+-------------+--------------------
2023-01-06 08:42:16.201000+08 | system | test | 15396 | [local] | 63b6a982.3c24 | 1 | SELECT | 20
23-01-06 08:42:10+08 | 4/4954 | 0 | ERROR | 42883 | function to_datetime(integer, integer, inte
ger, integer, integer) does not exist | | No function matches the given name and argument types. You might nee
d to add explicit type casts. | | | | select to_datetime(2022,1,1,01,01)
; | 8 | | kingbase_*&+_
(1 row)

以上两种方法可以将数据库日志以数据库表的方式进行查看,可以过滤出想要的内容,查看更加简洁。

怎样更直观的查看KingbaseES数据库日志相关推荐

  1. 启帆工业机器人综合收入如何_发那科工业机器人ROBOGUIDE如何更方便的查看机器人报警日志...

    在ROBOGUIDE的使用中有时候发生故障需要查看报警日志,可是在示教器里面查看比较繁琐,有时就会像,如果有一个较大的窗口可以显示更多的信息就更完美了,歧视ROBOGUIDE软件自带了报警日志单独查看 ...

  2. mysql数据库日志binlog保存时效(expire_logs_days)

    一.设置语法 1.方法一: 编辑/etc/my.cnf文件,在[mysqld]节点中增加如下两行 max_binlog_size = 500M expire_logs_days = 15 max_bi ...

  3. MySQL 进阶 索引 -- SQL性能分析(SQL执行频率:查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次、慢查询日志、 profile详情、explain)

    文章目录 1. SQL性能分析 1.1 SQL执行频率(可以查看当前数据库SQL的访问频次) 1.2 慢查询日志(可以记录用时较长的SQL) 1.2.1 开启慢查询日志 1.2.2 慢查询日志测试 1 ...

  4. oracle备份的输出日志文件,oracle导出数据,备份及恢复数据,及数据库日志文件的查看...

    以salary为例,在PLSQL Developer中操作 1.导出salary表的数据:将 salary 表的数据以 insert 语句的方式导出 tools-->Export Tables- ...

  5. 查看数据库日志文件及路径

    select * from v$asm_diskgroup -----------查看CRS,DG select * from v$diag_info where name='Default Trac ...

  6. 查看电脑重启日志_详解各个系统主机日志及数据库日志收集--AIX、redhat、HP-UX等...

    概述 今天主要针对主机和数据库日志的一些收集做一下记录总结,下面一起来看看吧~ 一.主机系统日志收集: 创建主机日志收集目录: --Unix/Linux创建存放系统日志的文件夹:# mkdir -p ...

  7. linux 99乘法表脚本.md(含脚本注释,查看更直观)

    linux 99乘法表脚本.md(含脚本注释,查看更直观) 最终效果: 题目:编写脚本,实现打印 99乘法表 路径:(仅作者) PDF:D:\Download_SD-Date and Bak(D盘 下 ...

  8. SQLSERVER查看数据库日志方法和语句示例,已亲测。

    SQLSERVER查看数据库日志方法和语句示例,已亲测. 首先需要查看日志大小: EXEC sys.sp_enumerrorlogs; 可以获取存档编号(0指实时的),日期,日志大小 方法一 使用sq ...

  9. PostgreSQL启用数据库日志与查看数据库对象

    目录: 基础操作之___启用数据库日志与查看数据库对象 1.开启数据库用户登录审计日志 (1)编辑配置文件 (2)启用以下参数 (3)加载配置文件 (4)数据库查询参数 2.用户登录测试 3.查看数据 ...

最新文章

  1. 如何判断map为空_在Java中如何优雅地判空
  2. web 小程序 ch3 小程序框架
  3. 工业交换机的日常维护保养该怎么做?
  4. 上财的计算机专业408,【2020考研】上财408分经验分享
  5. cad移动时捕捉不到基点_CAD入门必备(一)移动和复制新手必看
  6. ubuntu 18.04 LTS 安装SecureCRT
  7. web通用组件+Axure原型+Axure元件库+Axure后台管理系统框架模板+大屏数据可视化元件库+智慧社区管理系统大屏+图表组件+表单组合+智慧数据看板+通用大屏图表原件库+电脑端常用组件
  8. C语言工程实践--物业费管理系统
  9. si4463跳频功能简介
  10. 删除后别人的微信号变成wxid_“ 微信号 ” 和 “ 微信账号 ” 分别代表什么?...
  11. 服务器显示cpu温度高,高手教你巧解cpu温度过高问题
  12. systemd.timer定时任务
  13. html设置右键失灵,鼠标右键失灵是怎么回事
  14. 【笔记整理】通信原理第七章复习——数字信号的最佳接受
  15. 106句激励自我的话
  16. aws mediatailor运行原理图
  17. UR机器人数据包解析(python与C++实现)
  18. 从键盘上输入两个字符串,将两个字符串首尾相连接后,再输出新的字符串(c语言)
  19. 分析PostLateUpdate.FinishFrameRendering()。每帧渲染时间截然不同
  20. 关于时间、物质结构、四维空间的猜想

热门文章

  1. 数据结构二叉树中序遍历递归和非递归算法
  2. 利用网络数据预测企业失信行为
  3. Opengl ES 1.x NDK实例开发之七:旋转的纹理立方体
  4. mapreduce 编程模型
  5. MapReduce编程框架
  6. 手机拍照,高像素和光学变焦哪个更有用?
  7. SSD固态硬盘闪存技术详解
  8. Echarts 地图json数据汇总
  9. 用Java实现马里奥
  10. C++语法规则1(C++面向对象 )