Migrate a single-instance CNPG PostgreSQL cluster between regions or region-pinned storage classes via streaming replication with sub-second downtime
Scanned 9/9/2026
Install to Claude Code
npx -y skills add agentydragon/ducktape --skill cnpg_region_switch --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cnpg Region Switch?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/agentydragon-cnpg-region-switch)More formats (shields.io, HTML) on the badges page.
---
name: cnpg_region_switch
description: Migrate a single-instance CNPG PostgreSQL cluster between regions or region-pinned storage classes via streaming replication with sub-second downtime
---
# CNPG Cross-Region Migration
Migrate a single-instance CNPG PostgreSQL cluster between regions using the Standalone Replica Cluster pattern.
## When to use
- Migrating a database from one region to another (either direction)
- Moving a database to region-appropriate storage
- No HA replicas exist — single-instance cluster only
## Procedure
Follow the runbook at `skills/cnpg_region_switch/RUNBOOK.md` step by step.
Key steps:
1. Create source cluster (if not existing)
2. Create target as streaming replica (`pg_basebackup` + `replica.enabled: true`)
3. Verify replication and data
4. Promote target (`spec.replica.enabled: false`)
5. Verify promoted target (writable, data intact, sequences correct)
6. Update application connection string
7. Delete source cluster
## Important constraints
- Both clusters must use the same PostgreSQL image version
- Promotion is irreversible (standalone replica pattern)
- Namespace must have quota for ≥6 services during migration (3 per cluster)
- Region and storage-class names are deployment-specific — see <../../docs/cnpg_conventions.md> for the current CNPG profiles and region-pinning rules
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!