本文字数:4679;估计阅读时间:12 分钟
作者:Kaushik Iska
ClickHouse 代管的 Postgres 服务已于五月推出公开测试版。这是一款全托管、基于 NVMe 存储的 Postgres 服务,与 ClickHouse 原生集成。自推出以来,该服务经历了繁忙而充实的夏季。我们已陆续发布了细粒度访问控制、重新设计的控制台、Terraform 提供程序、MCP 支持、Stripe 集成、使用量计量以及一系列更深入的技术栈改进。贯穿这些更新的核心主线是,我们正致力于将 ClickHouse Cloud 打造成同时支持 OLTP 和 OLAP 工作负载的最佳数据平台。以下是对这些更新的全面汇总。
重新设计的控制台
现在,当您打开任何 Postgres 服务时,都将进入一个全新设计的主页,将您最常关注的信息汇集到单一视图中。页面包含一个服务信息卡,一目了然地显示已用存储、活跃连接、磁盘 IOPS 和恢复窗口等健康状况统计信息,并提供深度链接,可直接跳转到备份和时间点恢复功能。在其下方,“资源使用情况”部分会根据您选择的时间段,以图表形式展示 IOPS、CPU、磁盘使用情况和连接数;而“查询洞察”部分则详细列出了每秒查询数、查询延迟和各项操作。
其他创建和管理体验也得到了同样的优化:
• 重新设计的创建流程。 自定义配置步骤已重构,以提供更简洁、更清晰的体验。
• 更智能的区域默认设置。 在创建页面上,系统会预选离您最近的区域,省去您手动查找的麻烦。
• 缩容安全防护。 当您进行缩容操作时,不满足现有数据存储需求的规格将被禁用,以防止您选择可能导致数据丢失的配置。
• 监控功能优化。 您现在可以搜索所有指标,配置指标的操作也更加流畅。
• 只读副本拓扑视图。 全新的可视化功能展示了您的主节点和只读副本,并支持拖动节点,让您能够轻松直观地查看其拓扑结构。
细粒度访问控制
托管版 Postgres 现已支持细粒度的服务级访问控制。现在,无需为了让团队成员管理某一个 Postgres 服务而将其授予组织管理员权限,相关权限也会在 Cloud Console 和公开的 REST API 中保持一致。
目前提供两个权限级别:
• 查看(View)。 在服务内部具有只读权限,并通过公共 API 对该服务进行只读访问。
• 管理(Manage)。 拥有完整的管理控制权限,包括更改设置、备份、恢复和时间点恢复、只读副本以及复制配置。
在实践中,有几个细节确保了这一功能的有效运行:列表端点会遵循这些权限设置,因此每位用户只能看到他们拥有查看权限的服务。连接密码等敏感字段将对只读用户隐藏。此外,现有的组织管理员(organization-admin)权限保持不变,因此对当前管理员没有任何影响。
如需了解角色分配的详细步骤、完整的 API 权限列表以及常见团队设置的示例,请查阅 托管 Postgres RBAC 文档(https://clickhouse.com/docs/cloud/managed-postgres/rbac)。
基础设施即代码 (Infrastructure as code) (Terraform)
ClickHouse 托管 Postgres 的 Terraform Provider 现已推出 Alpha 版本。您可以通过代码形式管理 Postgres 实例,并采用与 ClickHouse Cloud 其他基础设施相同的配置方式。它涵盖了完整的实例生命周期,包括创建、调整大小、高可用(HA)更改、配置和密码轮换,以及流式只读副本(streaming read replicas)和时间点恢复(point-in-time restore)。现有服务及其 CA 证书可作为数据源(data sources)使用。
resource "clickhouse_postgres_service" "example" { name = "my-postgres" cloud_provider = "aws" region = "us-east-1" size = "m6gd.large" # High-availability mode ("none", "async", or "sync") ha_type = "async" tags = { environment = "production" team = "data" } }文档 中包含完整的 schema 和更多示例。鉴于其仍处于 Alpha 阶段,该 Provider 会附带 Alpha 警告,且更多功能正在陆续推出。
通过 Stripe 预置服务
您现在可以通过 Stripe 预置(provision)ClickHouse 的 Postgres 服务。Stripe Connect 负责处理支付端的所有事宜,包括用户入驻、款项支付和合规性等,这使得平台和市场能够向其客户提供托管 Postgres 服务,而无需自行搭建复杂的支付基础设施。只需几条命令,您即可按照 Stripe 目录中预期的选项预置一个实例,例如自定义实例大小、Postgres 版本和高可用(HA)设置。
Postgres 到 Postgres 数据迁移
我们推出了针对 Postgres 服务的 Postgres to Postgres ClickPipes Beta 版。使其区别于市场其他工具的特性是管道本身所包含的自动化模式迁移(schema migration)功能。我们还在托管、自动化的迁移后步骤方面取得了进展,目前自动序列重置(sequence resetting)功能已在 PeerDB 中实现。
我们已在另一篇博文中详细介绍了相关信息,包括演示:ClickPipes Postgres to Postgres(https://clickhouse.com/blog/clickpipes-postgres-to-postgres)。
使用量计量与计费
Postgres 服务的计费已于 6 月 15 日开始按照 Beta 版价格计费。所有 Postgres 服务的使用量数据现在都通过 ClickHouse Cloud 所使用的相同计量管道(metering pipeline)进行报告,并可与其他服务一起在“使用详情 (Usage Breakdown)”页面查看。
您可以获得按服务统一划分的计算、存储、备份、ClickPipes 和数据传输费用明细,以及一个每日使用图表,用于在任何时间段内发现使用趋势和峰值。与 ClickHouse Cloud 服务一样,所有使用量均按标价显示,您可以通过图表顶部的标签页深入查看每个维度。
使用量数据也贯穿于整个计费体验中:
• 定期账单。 Postgres 服务将作为月度账单中的明细项,并按使用维度(usage dimension)细分,这样,财务团队就可以收到 ClickHouse 和 Postgres 的合并账单。
• 账单 CSV 下载。 完整的按服务、按天的使用明细可通过“下载 CSV”功能导出,可直接导入您自己的成本报告、费用分摊(chargeback)或 FinOps 工具中。
想要估算工作负载的成本?定价计算器允许您配置规模并查看价格(https://clickhouse.com/pricing?service=postgres&pg.plan)。
提前储备容量以应对需求
AI 热潮正在以惊人的速度消耗云计算资源,大型实例类型(instance types)越来越难以获得。即使我们拥有庞大的规模以及与各大云服务提供商的紧密合作关系,在当前的需求水平下,容量也不再是理所当然的事情。
为了应对潜在的挑战,托管式 Postgres (managed Postgres) 现在在 AWS 上启用了动态容量预留。该系统会根据当前的使用情况,自动分配和调整 AWS 按需容量预留 (On-Demand Capacity Reservations) 的规模,并将预留容量分散到各个可用区中。这意味着,当你预置新服务、调整现有服务规模或故障转移到备用实例时,所需的实例——包括那些最难获取的大规格实例——都已为你准备就绪。
对用户而言,这意味着无需额外规划的可靠性。容量是在需求发生前就已预留,而非在急需时才请求,这大大降低了在新服务预置、现有服务扩缩容或例行虚拟机 (VM) 回收过程中出现容量短缺的风险。更重要的是,它能确保在关键时刻,故障转移总是能落在正确的实例类型上。
目前,此功能正在我们的所有 AWS 区域中逐步上线。
更快、更精简的扩展
本次发布还包括对托管式 Postgres (managed Postgres) 所依赖的 Postgres 扩展的改进:
• pg_clickhouse ,这是一个 统一查询层 ,使应用程序能够同时处理 Postgres 事务和 ClickHouse 分析任务。
• pg_re2 ,它为 Postgres 引入了基于 RE2 的正则表达式功能,近期已发布 v0.2.0 版本。其基准测试结果可在 re2bench 中查看。
• pg_stat_ch ,此扩展用于将 Postgres 的统计数据和查询活动导出到 ClickHouse。它为控制台中显示的查询洞察和监控功能提供了数据支持。
本轮更新中,最引人注目的变化在于 pg_clickhouse。该扩展将其二进制驱动从clickhouse-cpp迁移到了全新的仅头文件库 clickhouse-c,这也是该库的首次公开使用(详见C 语言集成文档)。这一切换消除了 C++ 异常与 Postgres 自身错误处理机制之间的冲突,使得扩展能在更稳定的代码路径上运行。它允许扩展直接通过 Postgres 内存上下文进行内存分配,避免了在两种内存模型之间来回切换,同时还移除了臃肿的第三方依赖,从而缩短了构建时间,并将 x86-64 Linux 平台上的编译后扩展包从 4.9 MB 缩小到 1.4 MB。此外,本次发布还修复了 UInt16 值被错误转换为 int16 而非 int32 的问题,并且它作为常规次要更新安装,无需重新加载、重启数据库或执行ALTER EXTENSION UPDATE命令。值得一提的是,pg_stat_ch 也同样迁移到了clickhouse-c,因此这两个扩展现在都共享同一个精简的客户端。
总结
自测试版发布以来,所有这些功能——包括访问控制、重新设计的控制台、Terraform、MCP、Stripe、数据迁移、计费、容量预留以及各项扩展功能——都在不到一个月的时间内上线。这是托管式 Postgres 的夏季重磅更新。其核心在于一点:让您的 Postgres 服务能够与您的团队现有工作流无缝衔接,从基于服务的权限和 Terraform,到 MCP、Stripe 和统一账单。其中,Terraform 和扩展功能等少数组件仍在快速迭代中,敬请期待更多更新。
关于我们:
ClickHouse 是面向 AI 时代打造的高性能实时分析数据库,能够以极致性能处理海量数据分析任务。凭借高并发、低延迟和云原生架构,ClickHouse 广泛应用于可观测性、数据仓库、实时分析及 AI 数据基础设施等场景。我们致力于帮助企业在公有云平台上构建安全、弹性且高性价比的实时分析与 AI 数据平台,加速释放数据价值,推动智能化创新与数字化转型。目前,Trip.com、DiDi、Meta、Sony、Netflix、Deutsche Bank、Sierra、Cloudflare 等全球领先企业均在使用 ClickHouse 支撑其关键业务和数据分析平台。