← ClaudeAtlas

postgres-operator-best-practiceslisted

Run, configure, upgrade and troubleshoot the Zalando postgres-operator (acid.zalan.do `postgresql` CRs, Spilo, Patroni, WAL-G) on Kubernetes. Core knowledge: the v1.x -> v2.x major upgrade and its three changed defaults that bite silently (`kubernetes_use_configmaps` true, spilo-17 -> spilo-18, scram-sha-256 password encryption); the Patroni DCS living in deprecated v1 Endpoints and the split-brain hazard in switching to ConfigMaps; Helm never updating the CRDs; exactly which spec changes trigger a rolling update of Spilo pods; in-place major version upgrades and their success/failure annotations; PDBs, delete protection, password rotation, logical backups, maintenance windows.
air-gapped/skills · ★ 5 · API & Backend · score 78
Install: claude install-skill air-gapped/skills
# postgres-operator-best-practices Operate the Zalando postgres-operator without surprise downtime. Facts below were verified **2026-08-25** against the upstream repo at tag `v2.0.2` (`docs/administrator.md`, `docs/migrate.md`, chart defaults), with the release list enumerated unfiltered, the issue tracker swept, and deployment-level claims checked against a live RKE2 cluster on v1.14.0. Re-verify anything version-gated before relying on it later. **Version anchor (2026-08-25):** v1.14.0 (2024-12-23) · **v1.15.0** (2025-10-21, ships without UI and logical-backup images — never use it, go to v1.15.1) · **v1.15.1** (2025-12-18) · v2.0.0 (2026-07-27) · v2.0.1 (2026-07-29) · **v2.0.2** (2026-08-20, current). Default Spilo: `spilo-17:4.0-p2` in v1.14.0, `spilo-17:4.0-p3` in v1.15.1, `spilo-18:4.1-p2` in v2.0.x. For migrating away to CloudNativePG, and for the "is this project still alive" evidence, use `postgres-operator-cloudnative-pg-migration`. This skill assumes the decision is to stay. ## Symptom index | Symptom | Where | |---|---| | Unknown-field errors after a chart bump; config options silently ignored | §1 below — Helm does not update the CRDs | | Pods rolled unexpectedly; an unplanned switchover | `references/operations.md` §"What triggers a rolling update" | | `last-major-upgrade-failure` annotation; the upgrade will not retry | `references/operations.md` §"In-place major version upgrades" | | Clusters not syncing; a `postgresql` CR stuck; operator un-Ready for 20+