
pg_clickhouse v0.10.0新特性发布持续投入pg_clickhouse提升分析工作负载下的下推覆盖率是重点近期目标是TPC - H基准测试套件的全下推。自6月上次更新以来进展显著。随着v0.10.0版本发布TPC - H查询全下推数量从22个中的12个提升到16个仅6个待完成全下推。过程中还完成多项工作基于全新纯C客户端库重建二进制驱动下推的函数和聚合功能数量增加一倍多修复二进制驱动中的并发漏洞。得分板情况又有三个TPC - H查询实现全下推此前因查询结构效率极低。展示了Q2、Q17、Q22在PostgreSQL、pg_clickhouse 0.3、pg_clickhouse 0.10的执行时间及下推情况。Q17是亮点全下推后性能提升三个数量级优于原生PostgreSQL规划方案。目前仍有六个查询未实现下推Q16和Q18等存在连接树处理问题是子查询下推的下一个重点。完成子查询功能优化去年12月改进使TPC - H查询下推数量从22个中的3个提升到12个。最新版本完成将子查询下推的任务Postgres中的子查询可在ClickHouse中实现下推。EXPLAIN虽显示SubPlan节点但顶层Remote SQL包含整个比较操作。在ClickHouse 25.8之前版本这些功能无法使用。正确实现“NOT IN”功能下推SQL易但确保计算结果与PostgreSQL一致具挑战性。ClickHouse的“IN”采用二值逻辑PostgreSQL采用三值逻辑直接下推涉及“NULL”比较可能导致结果错误。v0.10版本修复方案跟踪表达式结果使用方式确定额外检查。后续改进扩展到整个“IN”系列操作符还修复了“ ANY(array)”的问题。默认设置“transform_null_in 0”确保服务器配置不破坏检查机制。立即体验ClickHouse Managed Postgres想了解ClickHouse Managed Postgres在数据上的表现可在ClickHouse Cloud上开始使用获300美元免费额度。扩展下推范围连接和子查询优化时可下推的单个函数、操作符和聚合功能列表大幅增加。主要新增内容包括正则表达式、聚合功能、分区聚合、其他功能等。内置函数下推改为选择加入模式确保保留Postgres语义的可靠性。驱动更新用ClickHouse/clickhouse - c取代clickhouse - cpp解决崩溃和内存使用问题。HTTP驱动支持ClickHouse原生格式弃用fetch_size参数。二进制驱动在数据超64MiB时刷新两个驱动增加压缩和TLS控制选项扩展类型支持范围。修复并发扫描冲突、悬空指针、特定查询结构失败等问题还修复亚秒级精度丢失问题和潜在漏洞。新功能新增功能扩展自动下推范围和操作能力“clickhouse_query(server, sql)”支持二进制驱动“clickhouse_perform(server, sql)”用于执行非查询类语句“clickhouse_server_version(server)”用于报告连接服务器版本。“clickhouse_raw_query()”已弃用。过往功能回顾补充说明过往版本的功能包括JSON、数组、聚合功能、其他功能等方面的操作符、函数和数据类型的映射和支持情况。待完成事项除六个TPC - H查询原始路线图中许多任务未完成连接树两侧处理问题是关键若下个版本不能完成所有六个查询下推将是下一篇文章主题。