clickhouse-js-node-troubleshooting

clickhouse-js-node-troubleshooting

热门

排查并解决 ClickHouse Node.js 客户端(@clickhouse/client)的常见问题。当用户报告涉及 Node.js 客户端的错误、意外行为或配置问题时使用此技能——包括 socket hang-up 错误、Keep-Alive 问题、流处理问题、数据类型不匹配、只读用户限制、代理/TLS 设置问题或长时间运行的查询超时。即使用户没有准确描述问题,只要在 Node.js 上下文中出现诸如“我的插入一直失败”或“连接随机断开”等模糊症状,也应触发此技能。请勿用于浏览器/Web 客户端问题。

495Star
32Fork
更新于 2026/7/15
SKILL.md
readonly只读
name
clickhouse-js-node-troubleshooting
description

排查并解决 ClickHouse Node.js 客户端(@clickhouse/client)的常见问题。 当用户报告涉及 Node.js 客户端的错误、意外行为或配置问题时使用此技能—— 包括 socket hang-up 错误、Keep-Alive 问题、流处理问题、数据类型不匹配、 只读用户限制、代理/TLS 设置问题或长时间运行的查询超时。即使用户没有准确描述问题, 只要在 Node.js 上下文中出现诸如“我的插入一直失败”或“连接随机断开”等模糊症状, 也应触发此技能。请勿用于浏览器/Web 客户端问题。

ClickHouse Node.js 客户端故障排除

参考文档:https://clickhouse.com/docs/integrations/javascript

⚠️ 仅限 Node.js 运行时。 本技能仅涵盖在 Node.js 运行时 中运行的 @clickhouse/client 包——包括 Next.js Node 运行时 API 路由、React 服务器组件、服务器操作以及标准 Node.js 进程。请不要将此技能应用于浏览器客户端组件、Web Workers、Next.js Edge 运行时、Cloudflare Workers 或任何使用 @clickhouse/client-web 的场景。对于浏览器/边缘环境,正确的包是 @clickhouse/client-web


如何使用本技能

  1. 识别问题 — 将症状与下方的问题索引匹配,并阅读相应的参考文件。
  2. 先给出诊断 — 在给出修复方法之前,先解释可能导致问题的原因。
  3. 注意版本限制 — 如果修复需要最低客户端版本,请标记并检查用户提供的版本。
  4. 仅询问缺失信息 — 如果修复依赖于版本且您不知道用户的版本,请询问;否则立即提供帮助。

问题索引

从下方列表中识别用户的问题,并阅读相应的参考文件以获取详细的故障排除步骤。

问题 症状 参考文件
Socket Hang-Up / ECONNRESET socket hang upECONNRESET、间歇性连接断开、长时间运行的查询超时 reference/socket-hangup.md
数据类型不匹配 大整数以字符串形式返回、十进制精度丢失、Date/DateTime 插入失败、将 UUID 插入 UInt128 列时出现 CANNOT_PARSE_INPUT_ASSERTION_FAILED reference/data-types.md
只读用户错误 使用 readonly=1 用户时响应压缩出错 reference/readonly-users.md
代理 / 路径名 URL 混淆 选择了错误的数据库、请求在带有路径前缀的代理后失败 reference/proxy-pathname.md
TLS / 证书错误 TLS 握手失败、证书验证问题、双向 TLS 设置 reference/tls.md
压缩未生效 请求或响应的 GZIP 压缩未激活 reference/compression.md
日志不显示任何内容 没有日志输出,需要自定义日志记录器集成 reference/logging.md
查询参数未插值 参数化查询不起作用,SQL 注入问题 reference/query-params.md
FORMAT 子句 / SHOW POLICIES 错误 由于重复的 FORMAT 导致的语法错误,或即使提供了格式,SHOW [ROW] POLICIES 仍然失败 reference/query-format-clause.md

仍然卡住?