CloudNativePG

CloudNativePG is an open-source Kubernetes operator for PostgreSQL that automates deployment, backups, upgrades, failover, and monitoring for platform and…

  • Tools & Utilities
CloudNativePG is an open-source Kubernetes operator for PostgreSQL that automates deployment, backups, upgrades, failover, and monitoring for platform and database teams.

Platform availability

Available on 1 of 6 install platforms

  • Unraid (not listed)
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox (not listed)
  • Helm

Also on Docker Hub and GitHub

Health score

76/100 Good

Maintained
100last commit 8 days ago
Popular
799,376 GitHub stars
Easy to install
251 install platform, install notes
Light to run
No data

Based on 3 of 4 factors.

How is this calculated?

A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). Factors without data are left out and the rest are rescaled.

Availability: platform listings confirmed today

GitHub stars
9,376
Open issues
437
Last commit
2026-09-28
Latest release
v1.30.1
License
Apache-2.0
Activity
rising

Checked 7 days ago - source: GitHub (cloudnative-pg/cloudnative-pg)

Resources & Compatibility

Requirements not published yet.

First-install notes

  • Install the kubectl cnpg plugin Run the installation script with sudo so it puts the cnpg plugin in /usr/local/bin. This adds the kubectl cnpg command, which the docs use for status, logs, and psql shortcuts; without it, those commands won't be found. source
  • Check backups are running After you start a backup, check kubectl describe backup to see the Phase: running status. If it gets stuck, the backup isn't completing and you should inspect the Events section to find the cause. source
  • Monitoring ports are internal If you install the Kube-Prometheus monitoring stack, kubectl get svc should list Grafana, Alertmanager, the monitoring operator, and Prometheus as ClusterIP. ClusterIP means they are reachable only from inside the cluster, so use port-forwarding or expose a service if you want to open them from your home network. source

Fetched 6 days ago - each note links to its source

Alternatives

No alternatives collected yet.

Common questions

Does CloudNativePG rely on StatefulSets for PostgreSQL data volumes?

No. It manages the persistent volume claims for PGDATA itself instead of relying on StatefulSets.

Why do documentation examples with kubectl cnpg fail on my cluster?

You need the kubectl cnpg plugin installed. Run the installation script with sudo so it is placed in /usr/local/bin; the plugin provides status, logs, and psql shortcuts used by the docs.

How can I tell whether a CloudNativePG backup is running?

Run kubectl describe backup and look for Phase: running. If it is stuck, check the Events section to find the cause.

Why are the monitoring services unreachable from outside the cluster?

Grafana, Alertmanager, the monitoring operator, and Prometheus are ClusterIP services by default, so they are reachable only inside the cluster. Use port-forwarding or expose a service if you need access from your home network.

How does CloudNativePG handle primary failover?

The operator handles failover directly through the Kubernetes API. If the primary fails, it elects a new primary and orchestrates the transition without an external HA tool.

Does CloudNativePG support TLS for database connections?

Yes. It implements in-transit encrypted TLS connections and supports security contexts by default.

Answers sourced from cloudnative-pg.io, github.com, github.com, github.com, github.com

Community

Collected yesterday - public community threads