Skip to content

Compare various solutions to deploy PostgreSQL in Kubernetes

There are multiple ways to deploy and manage PostgreSQL in Kubernetes. Here we will focus on comparing the following open source solutions:

Generic

Feature/Product Percona Operator for PostgreSQL Stackgres CrunchyData CloudNativePG Zalando
Open-source license Apache 2.0 AGPL 3 Apache 2.0, but images are under Developer Program Apache 2.0 MIT
PostgreSQL versions 12, 13, 14 14 12, 13, 14 11 - 14, 15 in Beta 11 - 14
Kubernetes conformance Various versions are tested Various versions are tested Various versions are tested Various versions are tested AWS EKS

Maintenance

Feature/Product Percona Operator for PostgreSQL Stackgres CrunchyData CloudNativePG Zalando
Operator upgrade ✅ ✅ white_check_mark: ✅ ✅
Database upgrade Automated and safe Automated and safe Manual Manual Manual
Compute scaling Horizontal and vertical Horizontal and vertical Horizontal and vertical Horizontal and vertical Horizontal and vertical
Storage scaling Manual Manual Manual Manual Manual, automated for AWS EBS

PostgreSQL topologies

Feature/Product Percona Operator for PostgreSQL Stackgres CrunchyData CloudNativePG Zalando
Warm standby ✅ ✅ ✅ ✅ ✅
Hot standby ✅ ✅ ✅ ✅ ✅
Connection pooling ✅ ✅ ✅ ✅ ✅
Delayed replica 🚫 🚫 🚫 ✅ 🚫
Tablespaces ✅ 🚫 ✅ ✅ 🚫

Backups

Feature/Product Percona Operator for PostgreSQL Stackgres CrunchyData CloudNativePG Zalando
Scheduled backups ✅ ✅ ✅ ✅ ✅
WAL archiving ✅ ✅ ✅ ✅ ✅
PITR ✅ ✅ ✅ ✅ ✅
GCS ✅ ✅ ✅ ✅ ✅
S3 ✅ ✅ ✅ ✅ ✅
Azure 🚫 ✅ ✅ ✅ ✅
Volume snapshots 🚫 🚫 🚫 ✅ 🚫

Monitoring

Feature/Product Percona Operator for PostgreSQL Stackgres CrunchyData CloudNativePG Zalando
Solution Percona Monitoring and Management Exposing metrics in Prometheus format Prometheus stack and pgMonitor Prometheus metrics & Grafana dashboard Sidecars

Miscellaneous

Feature/Product Percona Operator for PostgreSQL Stackgres CrunchyData CloudNativePG Zalando
Customize PostgreSQL configuration ✅ ✅ ✅ ✅ ✅
Helm ✅ ✅ ✅ ✅ ✅
Transport encryption ✅ ✅ ✅ ✅ ✅
Data-at-rest encryption Through storage class Through storage class Through storage class Through storage class Through storage class
Create users/roles limited ✅ ✅ ✅ limited

Last update: 2024-10-29