PURGE_LOG()

函数说明

PURGE_LOG() 用于删除记录于 MatrixOne 数据库系统表中的日志。返回 0 表示删除成功;删除失败则返回报错信息。

Note

目前,仅有 root 用户(即集群管理员,具有 MOADMIN 权限)拥有执行 PURGE_LOG() 函数以进行日志删除操作的权限。

函数语法

  1. > PURGE_LOG('sys_table_name', 'date')

参数释义

参数说明
‘sys_table_name’当前可进行删除的系统表仅三个:metric,rawlog,statement_info。
Note: ‘sys_table_name’ 必须用引号包裹。
‘date’选择日期,删除该日期之前产生的日志。
Note: ‘date’ 必须用单引号包裹。

Note

MatrixOne 有且仅有 metric,rawlog,statement_info 三张系统日志表,有关这三张表的详细信息请参考 MatrixOne 系统数据库和表

示例

  • 示例 1:
  1. -- 删除 2023-06-30 这一天之前的 statement_info 类型的日志
  2. mysql> select purge_log('statement_info', '2023-06-30') a;
  3. +------+
  4. | a |
  5. +------+
  6. | 0 |
  7. +------+
  8. 1 row in set (0.01 sec)
  • 示例 2:
  1. -- 查询 metric 日志采集的时间和数量
  2. mysql> select date(collecttime), count(1) from system_metrics.metric group by date(collecttime);
  3. +-------------------+----------+
  4. | date(collecttime) | count(1) |
  5. +-------------------+----------+
  6. | 2023-07-07 | 20067 |
  7. | 2023-07-06 | 30246 |
  8. | 2023-07-05 | 27759 |
  9. +-------------------+----------+
  10. 3 rows in set (0.04 sec)
  11. -- 删除 2023-07-06 这一天之前的 rawlogstatement_info,和 metric 三种类型的日志
  12. mysql> select purge_log('rawlog, statement_info, metric', '2023-07-06');
  13. +-------------------------------------------------------+
  14. | purge_log(rawlog, statement_info, metric, 2023-07-06) |
  15. +-------------------------------------------------------+
  16. | 0 |
  17. +-------------------------------------------------------+
  18. 1 row in set (0.33 sec)
  19. -- 再次查询 2023-07-052023-07-06 2023-07-07 这三天的 metric 日志数量
  20. mysql> select date(collecttime), count(1) from system_metrics.metric group by date(collecttime);
  21. +-------------------+----------+
  22. | date(collecttime) | count(1) |
  23. +-------------------+----------+
  24. | 2023-07-06 | 30246 |
  25. | 2023-07-07 | 20121 |
  26. +-------------------+----------+
  27. 2 rows in set (0.01 sec)