DeepSeek总结的clickhousectl v0.2.0: Postgres, ClickPipes 等更多功能
来源https://clickhouse.com/blog/clickhousectl-v0-2-0-postgres-clickpipes-moreclickhousectl v0.2.0: Postgres, ClickPipes 等更多功能作者:Al Brown日期:2026年5月20日阅读时间:7分钟我们发布了 clickhousectl v0.2.0。此版本增加了对 Postgres本地和 ClickHouse Cloud 托管的支持、对所有支持来源的 ClickPipes 管理、针对云服务的 SQL over HTTP、一些对代理友好的输出调整以及一个用于 ClickHouse Cloud API 的独立 Rust 客户端库。如果您已安装 clickhousectl请使用以下命令更新clickhousectl update如果您未安装请使用以下命令安装curlhttps://clickhouse.com/cli|shPostgresclickhousectl 现在也管理 Postgres。就像 ClickHouse 一样您可以在本地基于 Docker和 ClickHouse Cloud托管 Postgres中使用它。在本地开发当您准备好投入生产时再转到云环境。由 ClickHouse 管理的 Postgres 为您提供最快、企业级的云 Postgres由 NVMe 支持具备高可用性、只读副本和时间点恢复功能。本地 Postgres 作为 Docker 容器运行由名称主版本标识。数据位于.clickhouse/servers/name-pgmajor/data/下因此单个名称可以托管多个具有隔离状态的 Postgres 主版本。支持的版本有 16、17 和 18。# 预拉取镜像可选start 会按需拉取clickhousectllocalinstallpostgres16# 启动一个 Postgres 实例clickhousectllocalpostgres start--namedev--version16--port5433# 使用 psql 连接如果安装了 host psql则使用它否则使用 docker execclickhousectllocalpostgres client--namedev--querySELECT 1# 将连接变量写入 .envclickhousectllocalpostgres dotenv--namedev# 停止 / 移除clickhousectllocalpostgres stop dev clickhousectllocalpostgres remove devClickHouse 和 Postgres 服务器共享同一个服务器列表因此您可以在一个命令中并排看到两个引擎。云托管的 Postgres 需要 ClickHouse Cloud 帐户并且 CLI 必须使用 API 密钥进行身份验证。# 创建一个托管的 Postgres 服务clickhousectl cloud postgres create\--namemy-pg\--regionus-east-1\--sizec6gd.large\--storage-gb100\--pg-version17\--ha-typesyncClickPipesclickhousectl 现在创建和管理 ClickPipes这是 ClickHouse Cloud 用于流式和批量摄取的托管连接器。支持的来源来源模式子命令S3 / GCP / Azure Blob批量clickpipe create object-storageKafka / Redpanda / Confluent / MSK流式clickpipe create kafkaAmazon Kinesis流式clickpipe create kinesisPostgresCDCclickpipe create postgresMySQLCDCclickpipe create mysqlMongoDBCDCclickpipe create mongodbBigQuery快照clickpipe create bigquery创建 Kafka 管道clickhousectl cloud clickpipe create kafkaservice-id\--namemy-kafka-pipe\--brokersbroker:9092--topicsevents\--formatJSONEachRow\--kafka-type redpanda\--authSCRAM-SHA-256--usernameuser--passwordpass\--ca-certificate ./ca.crt\--databasedefault--tableevents\--columnevent_id:Int64--columnname:String创建 Postgres CDC 管道clickhousectl cloud clickpipe create postgresservice-id\--namemy-pg-pipe\--hostdb.example.com --pg-database mydb\--usernamepguser--passwordpgpass\--table-mappingpublic.users:public_users\--table-mappingpublic.orders:public_orders一旦管道运行您可以列出、启动、停止、扩展、重新同步对于 CDC 管道和删除它clickhousectl cloud clickpipe listservice-idclickhousectl cloud clickpipe scaleservice-idclickpipe-id\--replicas2--cpu-millicores250--memory-gb1clickhousectl cloud clickpipe resyncservice-idclickpipe-id改进查询 ClickHouse Cloud 中的 ClickHouse 服务查询 ClickHouse Cloud 中的 ClickHouse 服务不再需要本地 ClickHouse 二进制文件作为客户端。CLI 现在使用 ClickHouse Cloud 的查询端点通过 HTTP 发送 SQL。cloud service create默认在新服务上预置一个查询端点。系统会创建一个新的 API 密钥其权限范围仅限于新服务因此不能用于恶意行为并且查询端点本身被锁定只能使用新的 API 密钥。CLI 将新密钥与您现有的 API 密钥一起存储。然后cloud service query使用该密钥通过 HTTP 运行 SQLclickhousectl cloudservicequery--namemy-service--querySELECT 1clickhousectl cloudservicequery--idservice-id\--querySELECT count() FROM system.tables\--formatJSONEachRowechoSELECT 11|clickhousectl cloudservicequery--namemy-service对于没有查询端点或存储密钥的现有服务cloud service query会在首次使用时惰性地预置一个。传递--no-auto-enable将使其失败或者在service create时传递--no-enable-query以跳过创建时的钩子。查询端点绑定使用角色sql_console_admin创建该角色仅允许在所绑定服务内进行读写操作。API 密钥本身没有组织级别的角色因此该绑定是授予访问权限的唯一途径被盗的密钥只能攻击为其生成的服务。cloud service delete会从credentials.json中删除存储的密钥。使用体验两个小的更改当代理或人类读取输出时会有所不同。更轻量的表格。表格输出现在使用带有 ASCII 分隔符的 Markdown 风格表格而不是带圆角的 Unicode 框线绘制字符。这使得复制到 markdown 文件、PR 描述或与 LLM 的聊天中更加友好并且当代理读取时使用更少的令牌。用于凭据解析的--debug。向任何 cloud 命令传递--debug可以在命令运行前将解析出的凭据源和 API URL 打印到 stderr。clickhousectl cloud--debugservicelist# [debug] auth source: credentials file (.clickhouse/credentials.json)# [debug] api url: https://api.clickhouse.cloud/v1# ... 正常输出 ...Rustclickhouse-cloud-api客户端库clickhousectl 使用 ClickHouse Cloud API 管理 ClickHouse Cloud。Cloud API 代码现在是它自己的 crateclickhouse-cloud-api一个类型化的异步 Rust 客户端。CLI 现在像任何其他下游用户一样是这个 crate 的消费者。新的贡献者感谢在此版本中贡献代码的新贡献者Kaushik Iska (iskakaushik)Mark Dawson (markdawson)下一步计划clickhousectl 在发布 v0.2.0 时仅仅只有 5 周的历史但已经有超过 5000 名 ClickHouse 开发人员使用它在本地和云中构建 ClickHouse。仍然有很多功能需要支持针对 ClickStackClickHouse 可观测性栈的工作已经在进行中我们正在研究对本地 PeerDB 的支持以镜像 Cloud 中已经可能的 PostgresClickHouse CDC 功能。除了功能之外我们还在对代理式体验以及如何更好地为代理优化 CLI、我们的 API、MCP 和其他表面区域进行一些令人兴奋的研究。我们正在思考如何提高代理完成任务的能力以及它们的一致性、速度、工具调用和成本。预计在体验方面会有快速的迭代。clickhousectl 处于测试阶段我们很乐意听到您的反馈请在 clickhousectl 仓库中提交 issue并加入我们的社区 Slack。