关于 writing-clickhouse-queries
面向 PostHog 开发者的技能,用于编写和审查新的 ClickHouse 查询及产品数据表。它指向权威查询指南和相关文档,并区分新查询开发、性能优化与迁移工作。
主要功能
- 01新建 ClickHouse 查询指南
- 02审查 QueryRunner 子类
- 03设计数据表与 ALTER
- 04选择行 ID 格式
- 05管理物化列和索引
适用场景
- 01为 PostHog 产品添加查询
- 02设计新的 ClickHouse 表
- 03选择数据表的行 ID
- 04添加跳数索引或投影
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ posthog/ posthog --skill writing-clickhouse-queries安装后在 Claude Code 中输入/writing-clickhouse-queries确认已加载。
详细介绍
为新产品编写 ClickHouse 查询
如果你是在优化现有查询而非编写新查询,那么本文并不适用。请改用 /optimizing-clickhouse-and-hogql-queries。该技能涵盖分层排查、坏味道扫描(FROM ... FINAL、对属性使用 JSONExtract、缺失的跳过索引、自连接、CTE 膨胀)、在 Test Cluster 上进行测量,以及在正确的层级应用修复。
阅读 docs/published/handbook/engineering/databases/clickhouse-queries-new-products.md,获取编写新查询的权威指南。
然后根据任务涉及的内容,引入相应的相关文档:
hogql-python.md,了解 Python 中的 HogQLmaterialized-columns.mdquery-performance-optimization.md
何时使用
- 在
posthog/hogql_queries/或products/*/backend/中编写或审查QueryRunner子类 - 为某个产品新增 ClickHouse 表或 ALTER(
posthog/clickhouse/migrations/) - 为新表选择行 ID 格式
- 添加或移除物化列、跳过索引或投影
若要调查现有的慢查询、调试 system.query_log 中的某一行,或审查针对性能提出的 HogQL printer 变更,请使用 /optimizing-clickhouse-and-hogql-queries。
不适用于:通过 Max / posthog:execute-sql 面向客户的临时 HogQL,这种情况请使用 query-examples。关于迁移机制(节点角色、引擎、复制),请使用 clickhouse-migrations。
评论
支持 Markdown