可以缩短 command_history 表的保留期或从该表中除去行,从而防止该表变得过大。
缺省情况下,command_history 表中的行在 30 天之后会自动除去。保留期由 ph_threshold 表中的 COMMAND HISTORY RETENTION 行进行控制。
UPDATE ph_threshold SET value = "25" WHERE name = "COMMAND HISTORY RETENTION";
可以使用 DELETE 或 TRUNCATE TABLE 之类的 SQL 命令手动从此表中除去数据。也可在 ph_task 表中创建任务以从 command_history 表清除数据。
INSERT INTO ph_task
( tk_name, tk_type, tk_group, tk_description, tk_execute,
tk_start_time, tk_stop_time, tk_frequency )
VALUES
("mon_command_history",
"TASK",
"TABLES",
"Monitor how much data is kept in the command history table",
"delete from command_history where cmd_exec_time < (
select current - value::INTERVAL DAY to SECOND
from ph_threshold
where name = 'COMMAND HISTORY RETENTION' ) ",
DATETIME(02:00:00) HOUR TO SECOND,
NULL,
INTERVAL ( 1 ) DAY TO DAY);