用途:把 ClickHouse 抛出的原始异常转化为可验证的修复方案,快速定位并解决常见错误。
主要能力:内置错误码分类表(如 16 NO_SUCH_COLUMN_IN_TABLE、60 UNKNOWN_TABLE、62 SYNTAX_ERROR、159 TIMEOUT_EXCEEDED、164 READONLY、202 TOO_MANY_SIMULTANEOUS_QUERIES、241 MEMORY_LIMIT_EXCEEDED、252 TOO_MANY_PARTS),并给出三类高频错误的处理方式:Too Many Parts(Code 252)用 system.parts 统计分区数,临时可用 ALTER TABLE events MODIFY SETTING parts_to_throw_insert = 1000; 永久方案是批量插入(每次 10K+ 行);Memory Limit Exceeded(Code 241)可 SET max_memory_usage = 20000000000; 或 SET max_bytes_before_external_group_by = 10000000000; 将大 GROUP BY 落盘;Syntax Error(Code 62)常见于 MySQL 习惯,如标识符用双引号而非反引号、分页用 LIMIT 10 OFFSET 20。
使用方式:先捕获异常名称与数字码,映射到 Schema、Query、Performance、Permissions、Concurrency、Resources、Insert-pattern 等类别,再套用对应修复,最后用 system.* 表(system.parts、system.processes、system.query_log 等)复验条件是否消除。
适用场景:查询或插入报错、插入管道停滞、仪表盘查询挂起(可用 system.processes 找 query_id 后 KILL QUERY WHERE query_id = '...')。
限制:需要可访问 ClickHouse 端点(clickhouse-client 或 HTTP :8123)及读取 system.* 表的权限;完整 10 个错误目录与诊断查询位于 references/error-reference.md,资料未提供该文件内容。