33There are multiple ways to deploy and manage PostgreSQL in Kubernetes. Here we will focus on comparing the following open source solutions:
44
55* [ Crunchy Data PostgreSQL Operator (PGO) :octicons-link-external-16:] ( https://github.com/CrunchyData/postgres-operator )
6- * [ CloudNative PG :octicons-link-external-16:] ( https://github.com/cloudnative-pg/cloudnative-pg ) from Enterprise DB
6+ * [ CloudNative PG :octicons-link-external-16:] ( https://github.com/cloudnative-pg/cloudnative-pg ) , vendor-neutral, originally created by Enterprise DB
77* [ Stackgres :octicons-link-external-16:] ( https://github.com/ongres/stackgres ) from OnGres
88* [ Zalando Postgres Operator :octicons-link-external-16:] ( https://github.com/zalando/postgres-operator )
99* [ Percona Operator for PostgreSQL :octicons-link-external-16:] ( https://github.com/percona/percona-postgresql-operator/ )
1010
1111## Generic
1212
13- | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG (EDB) | Zalando |
13+ | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG | Zalando |
1414| ------------------------| :---------------------------:| :---------------------------:| :---------------------------------------------------:| :---------------------------:| :-------:|
1515| Open-source license | Apache 2.0 | AGPL 3 | Apache 2.0, but images are under Developer Program | Apache 2.0 | MIT |
1616| PostgreSQL versions | 13 - 18 | 14 - 18 | 14 - 18 | 14 - 18 | 13 - 17 |
@@ -19,7 +19,7 @@ There are multiple ways to deploy and manage PostgreSQL in Kubernetes. Here we w
1919
2020## Maintenance
2121
22- | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG (EDB) | Zalando |
22+ | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG | Zalando |
2323| ------------------| :-----------------------:| :-----------------------:| :-----------------------:| :-----------------------:| :-----------------------------:|
2424| Operator upgrade | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : |
2525| Database upgrade | Automated and safe | Automated and safe | Manual | Manual | Manual |
@@ -28,16 +28,16 @@ There are multiple ways to deploy and manage PostgreSQL in Kubernetes. Here we w
2828
2929## PostgreSQL topologies
3030
31- | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG (EDB) | Zalando |
31+ | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG | Zalando |
3232| --------------------| :-------------------:| :---------:| :-----------:| :-------------------:| :-------:|
3333| Warm standby | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : |
3434| Hot standby | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : |
3535| Connection pooling | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : |
36- | Delayed replica | :no_entry_sign : | :no_entry_sign : | :no_entry_sign : | :no_entry_sign : | :no_entry_sign : |
36+ | Delayed replica | :no_entry_sign : | :no_entry_sign : | :no_entry_sign : | :white_check_mark : | :no_entry_sign : |
3737
3838## Backups
3939
40- | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG (EDB) | Zalando |
40+ | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG | Zalando |
4141| -------------------| :-------------------------------:| :---------:| :-----------:| :-------------------:| :-------:|
4242| Scheduled backups | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : |
4343| WAL archiving | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : |
@@ -48,13 +48,13 @@ There are multiple ways to deploy and manage PostgreSQL in Kubernetes. Here we w
4848
4949## Monitoring
5050
51- | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG (EDB) | Zalando |
51+ | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG | Zalando |
5252| -----------------| :---------------------------------:| :-------------------------------------:| :------------------------------:| :-------------------------------------:| :--------:|
53- | Solution | Percona Monitoring and Management and sidecars | Exposing metrics in Prometheus format | Prometheus stack and pgMonitor | Exposing metrics in Prometheus format | Sidecars |
53+ | Solution | Percona Monitoring and Management and sidecars | Exposing metrics in Prometheus format | Prometheus stack and pgMonitor | Prometheus metrics & Grafana dashboard | Sidecars |
5454
5555## Miscellaneous
5656
57- | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG (EDB) | Zalando |
57+ | Feature/Product | Percona Operator for PostgreSQL | Stackgres | CrunchyData | CloudNativePG | Zalando |
5858| --------------------------------------| :-------------------------------:| :---------------------:| :---------------------:| :---------------------:| :---------------------:|
5959| Customize PostgreSQL configuration | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : | :white_check_mark : |
6060| Sidecar containers for customization | :white_check_mark : | :no_entry_sign : | :white_check_mark : | :no_entry_sign : | :white_check_mark : |
0 commit comments