1- # CYBERTEC PG Operator
2-
3- CPO (CYBERTEC PG Operator) allows you to create and run PostgreSQL clusters on Kubernetes.
41
5- The operator reduces your efforts and simplifies the administration of your PostgreSQL clusters so that you can concentrate on other things.
62# CYBERTEC PG Operator
73
84CPO (CYBERTEC PG Operator) allows you to create and run PostgreSQL clusters on Kubernetes.
95
106The operator reduces your efforts and simplifies the administration of your PostgreSQL clusters so that you can concentrate on other things.
11- <img src =" docs/diagrams/logo.png " width =" 200 " >
7+ <img src =" docs/diagrams/cpo_logo.svg " width =" 350 " >
128
139The Postgres Operator delivers an easy to run highly-available [ PostgreSQL] ( https://www.postgresql.org/ )
1410clusters on Kubernetes (K8s) powered by [ Patroni] ( https://github.com/zalando/patroni ) .
@@ -22,7 +18,6 @@ pipelines with no access to Kubernetes API directly, promoting infrastructure as
2218* Database connection pooling with PGBouncer
2319* Support fast in place major version upgrade. Supports global upgrade of all clusters.
2420* Restore and cloning Postgres clusters on PVC, AWS, GCS and Azure
25- * Additionally logical backups to S3 or GCS bucket can be configured
2621* Standby cluster
2722* Configurable for non-cloud environments
2823* Basic credential and user management on K8s, eases application deployments
@@ -33,47 +28,37 @@ pipelines with no access to Kubernetes API directly, promoting infrastructure as
3328
3429### PostgreSQL features
3530
36- * Supports PostgreSQL 15, starting from 10+
31+ * Supports PostgreSQL 16, starting from 10+
32+ * Streaming replication cluster via Patroni
33+ * Integrated backup solution, automatic backups and very easy restore (Backup & PITR)
34+ * Rolling update procedure for adjustments to the pods and minor updates
35+ * Major upgrade with minimum interruption time
36+ * Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing
37+ * Supports PostgreSQL 16, starting from 10+
3738* Streaming replication cluster via Patroni
3839* Point-In-Time-Recovery with
40+ * Point-In-Time-Recovery with
3941[ pg_basebackup] ( https://www.postgresql.org/docs/16/app-pgbasebackup.html ) /
4042[ pgBackRest] ( https://pgbackrest.org/ ) via [ CYBERTEC-pg-container] ( https://github.com/cybertec-postgresql/CYBERTEC-pg-container )
41- [ pg_stat_statements] ( https://www.postgresql.org/docs/15 /pgstatstatements.html ) ,
43+ [ pg_stat_statements] ( https://www.postgresql.org/docs/16 /pgstatstatements.html ) ,
4244* Incl. popular Postgres extensions such as
43- [ pg_cron] ( https://github.com/citusdata/pg_cron ) ,
44- [ pg_partman] ( https://github.com/pgpartman/pg_partman ) ,
45+ [ pgaudit] ( https://github.com/pgaudit/pgaudit ) ,
46+ [ pgauditlogtofile] ( https://github.com/fmbiete/pgauditlogtofile ) ,
47+ <!-- [pg_partman](https://github.com/pgpartman/pg_partman), -->
4548[ postgis] ( https://postgis.net/ ) ,
46- [ set_user] ( https://github.com/pgaudit/set_user ) and
49+ [ set_user] ( https://github.com/pgaudit/set_user )
50+ [ pg_cron] ( https://github.com/citusdata/pg_cron ) ,
4751[ timescaledb] ( https://github.com/timescale/timescaledb )
4852[ credcheck] ( https://github.com/MigOpsRepos/credcheck )
4953
50- The Postgres Operator has been developed at Zalando and is being used in
51- production for over five years.
54+ The Operator project is being driven forward by CYBERTEC and is currently in production at various locations.
5255
5356## Supported Postgres & K8s versions
5457
5558| Release | Postgres versions | pgBackRest versions | Patroni versions | K8s versions | Golang |
5659| :-------- | :---------------: | :-------------------: | :--------------: | :----------------:| :-----: |
57- | latest | 13 &rarr ; 16 | 2.51 | 3.2.2 | 1.21+ | 1.19.8 |
58- | next rc | 13 &rarr ; 16 | 2.51 | 3.2.2 | 1.21+ | 1.22.1 |
59-
60- * Integrated backup solution, automatic backups and very easy restore (snapshot & PITR)
61- * Rolling update procedure for adjustments to the pods and minor updates
62- * Major upgrade with minimum interruption time
63- * Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing
64- * Supports PostgreSQL 16, starting from 13+
65- * Streaming replication cluster via Patroni
66- * Point-In-Time-Recovery with
67- [ pg_basebackup] ( https://www.postgresql.org/docs/11/app-pgbasebackup.html ) /
68- [ pgBackRest] ( https://pgbackrest.org/ ) via [ CYBERTEC-pg-container] ( https://github.com/cybertec-postgresql/CYBERTEC-pg-container )
69- [ pg_stat_statements] ( https://www.postgresql.org/docs/15/pgstatstatements.html ) ,
70- * Incl. popular Postgres extensions such as
71- [ pg_cron] ( https://github.com/citusdata/pg_cron ) ,
72- [ pg_partman] ( https://github.com/pgpartman/pg_partman ) ,
73- [ postgis] ( https://postgis.net/ ) ,
74- [ set_user] ( https://github.com/pgaudit/set_user ) and
75- [ timescaledb] ( https://github.com/timescale/timescaledb )
76- [ credcheck] ( https://github.com/MigOpsRepos/credcheck )
60+ | latest | 10 &rarr ; 16 | 2.51 | 3.3.0 | 1.21+ | 1.22.1 |
61+ | next rc | 10 &rarr ; 16 | 2.51 | 3.3.0 | 1.21+ | 1.22.1 |
7762
7863## Getting started
7964
0 commit comments