The year is coming to a close and we are happy to announce another new release of the Postgres Operator. Thanks to everyone who contributed with PRs, feedback, raising issues or providing ideas. Have a smooth transition into 2025.
New features
- support for Postgres 17 (#2773)
- ability to set QPS and burst limits for api client to make operator handle bigger fleets better (#2667)
- sidecars can be running with a set of Commands (#2449, #2825)
- support for new EBS CSI Driver (#2677)
- provide more scaling means for streams and support ignore recovery type (zalando-internal) (#2817)
Enhancements
- added retry logic for switchover candidate search in asynchronous mode (#2760)
preparedDatabases
feature supports database and schema names with special characters (#2745, #2782)- operator sets annotation if last major version upgrade failed, next attempt skipped when annotation is present (#2727, #2755)
- added more pre-checks before executing major version upgrade script (#2772)
- remember specs of PVCs on sync to make cluster deletion not miss out on them in edge cases (#2785)
- added compatibility with Patroni 4, but operator still uses old
master
label behavior for now (#2818) - cleaned up code problems reported by go linter (mostly redundant type from arrays) (#2739)
- improved docs about automated major version upgrades (#2807)
- use a more recent postgres-exporter example in servicemonitor manifest (#2777)
- update Go to 1.23.4 and also updated dependencies (#2824, #2740, #2816, #2819)
- [Helm] make replica count for UI deployment configurable (#2708)
Bugfixes
- update CRD schema pattern for resources to allow empty strings (#2735)
- do not use extra labels to list stream resources because they can change and lead to duplicates (#2803)
- Spilo image contains fix for breaking change for pushing backups with wal-g (#2786)
- [Helm] fix indentation of
extraEnvs
in operator deployment (#2783, #2814) - [Helm] cluste role was lacking patch privilege on PVCs (#2762)
Breaking changes
- updated logs on SYNC and UPDATE events (breaking only if you rely on certain log messages) (#2738)
- dropping support for Postgres 12 (#2773)
amd images:
Docker image: registry.opensource.zalan.do/acid/postgres-operator:v1.14.0
UI Docker image: registry.opensource.zalan.do/acid/postgres-operator-ui:v1.14.0
Logical Backup Docker image: registry.opensource.zalan.do/acid/logical-backup:v1.14.0
Multi-arch image (arm):
Postgres Operator: ghcr.io/zalando/postgres-operator:v1.14.0
UI: ghcr.io/zalando/postgres-operator-ui:v1.14.0
Logical Backup: ghcr.io/zalando/postgres-operator/logical-backup:v1.14.0
Default Spilo image: ghcr.io/zalando/spilo-17:4.0-p2
Thanks to our contributors: @idanovinda, @hughcapet, @FxKu, @macedigital, @sdudoladov
@fahedouch, @cosimomeli, @tabbyl21, @Demch1k, @dmotte, @prasadkris,
@mjtrangoni @zyue110026, @DaDummy, @Mart-Kuc