可以缩短 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);