infra-postgres
Skill563 starsChanged 9 months agoApache-2.0View on GitHub
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.
- Pipes a download into a shell
In this repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/clickhouse-architecture-advisor/AGENTS.mdAGENTS.md
- skills/clickhouse-best-practices/AGENTS.mdAGENTS.md
- skills/clickhouse-js-node-rowbinary/AGENTS.mdAGENTS.md
- skills/clickhouse-managed-postgres-rca/AGENTS.mdAGENTS.md
- chdb-datastoreSkill
- chdb-sqlSkill
- clickhouse-architecture-advisorSkill
- clickhouse-best-practicesSkill
- clickhouse-js-node-codingSkill
- clickhouse-js-node-rowbinarySkill
- clickhouse-js-node-troubleshootingSkill
- clickhouse-managed-postgres-rcaSkill
- clickstack-otel-collectorSkill
- infra-clickhouseSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
If it's genuinely ambiguous (e.g.
- Very specific: line 36
Check that clickhousectl is installed:
- Distinctive: line 42
If not found, install it:
- Very specific: line 50
All commands accept --json for machine-readable output, and switch to JSON automatically when run by a coding agent.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Last updated 2026-10-30 for clickhousectl 0.5.0. (update the CLI with clickhousectl update, update skills with clickhousectl skills)
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 clickhousectlIf not found, install it:
curl -fsSL https://clickhouse.com/cli | shThis 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, and switch to JSON automatically when run by a coding agent. SQL output from local client and local postgres client stays in psql or clickhouse-client's native format. Exit codes: 0 success, 1 error, 2 usage error, 3 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-clickhouseskill.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

