360 Secure SkillHub
360 安全技能中心

infra-postgres

借助 clickhousectl CLI 管理 Postgres:本地以 Docker 启动命名实例用于开发测试,云端在 ClickHouse Cloud 创建托管服务并处理连接、TLS、运行时配置、只读副本、故障转移与时间点恢复,另含从 Neon、Supabase、RDS 等迁移的流程。

未知作者
热度 43.41
最近更新 2026-10-19 07:49:25
分类:开发依赖:代码执行 / 读写文件 / 第三方 API应用场景:DevOps / 自动化脚本 / 工作流 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add clickhouse.com/infra-postgres
Metadata
name
infra-postgres
description
Sets up and manages Postgres using the clickhousectl CLI — runs a local Docker-backed Postgres for development, and creates and operates managed ClickHouse Cloud Postgres services (connections, TLS, runtime config, read replicas, failover, point-in-time restore). Use when the user wants a Postgres or PostgreSQL database for their application, a local Postgres dev environment, psql access, or a managed/production Postgres in ClickHouse Cloud, or mentions moving a local Postgres to production. Also use when migrating an existing Postgres database (Neon, Supabase, RDS, Aurora, Cloud SQL, self-hosted) into ClickHouse Cloud Postgres.
license
Apache-2.0
metadata
{"author":"ClickHouse Inc","version":"0.2.0"}

Postgres with clickhousectl

clickhousectl manages Postgres in two environments:

  • Local — named, Docker-backed Postgres instances on the user's machine, for development.
  • Cloud — managed Postgres services in ClickHouse Cloud (beta), for production: HA, read replicas, point-in-time restore.

This file routes to the right reference. The step-by-step workflows live in ref/local.md, ref/cloud.md, and ref/migrate.md — read the one that matches the user's situation before running commands.

Which reference to use

The user wants to... Read
Develop or prototype locally, run tests/CI against Postgres, no cloud account needed ref/local.md
Go to production, host a managed Postgres, or use ClickHouse Cloud explicitly ref/cloud.md
Operate an existing cloud service (passwords, TLS, config, replicas, failover, restore) ref/cloud.md
Migrate an existing Postgres (Neon, Supabase, RDS, ...) into ClickHouse Cloud Postgres ref/migrate.md
Develop locally now, ship to production later Start with ref/local.md; it points to ref/cloud.md when it's time to go to prod

If it's genuinely ambiguous (e.g. "set up Postgres for my app"), default to local for development tasks and ask before creating anything in the cloud — cloud services cost money.

Prerequisites (both workflows)

Check that clickhousectl is installed:

which clickhousectl

If not found, install it:

curl -fsSL https://clickhouse.com/cli | sh

This installs to ~/.local/bin/clickhousectl (with a chctl alias). If the command is still not found, suggest export PATH="$HOME/.local/bin:$PATH" or a new terminal.

All commands accept --json for machine-readable output. Exit codes follow gh conventions: 0 success, 1 error, 2 cancelled, 4 auth required.

Related

  • To replicate Postgres data into ClickHouse for analytics, see ClickPipes (clickhousectl cloud clickpipe --help). ClickPipes cannot target a Postgres service — for Postgres-to-Postgres migration use ref/migrate.md.
  • For ClickHouse itself (local development or ClickHouse Cloud services), use the infra-clickhouse skill.