EDB Postgres for Kubernetes v1

The EDB Postgres for Kubernetes operator is a fork based on CloudNativePG. It provides additional value such as compatibility with Oracle using EDB Postgres Advanced Server and additional supported platforms such as IBM Power and OpenShift. It is designed, developed, and supported by EDB and covers the full lifecycle of a highly available Postgres database clusters with a primary/standby architecture, using native streaming replication.

Note

The operator has been renamed from Cloud Native PostgreSQL. Existing users of Cloud Native PostgreSQL will not experience any change, as the underlying components and resources have not changed.

Key features in common with CloudNativePG

  • Kubernetes API integration for high availability
    • CloudNativePG uses the postgresql.cnpg.io/v1 API version
    • EDB Postgres for Kubernetes uses the postgresql.k8s.enterprisedb.io/v1 API version
  • Self-healing through failover and automated recreation of replicas
  • Capacity management with scale up/down capabilities
  • Planned switchovers for scheduled maintenance
  • Read-only and read-write Kubernetes services definitions
  • Rolling updates for Postgres minor versions and operator upgrades
  • Continuous backup and point-in-time recovery
  • Connection Pooling with PgBouncer
  • Integrated metrics exporter out of the box
  • PostgreSQL replication across multiple Kubernetes clusters
  • Separate volume for WAL files

Features unique to EDB Postgres of Kubernetes

  • Long Term Support for 1.18.x
  • Red Hat certified operator for OpenShift
  • Support on IBM Power
  • EDB Postgres for Kubernetes Plugin
  • Oracle compatibility through EDB Postgres Advanced Sever
  • Velero/OADP cold backup support
  • Generic adapter for third-party Kubernetes backup tools

You can evaluate EDB Postgres for Kubernetes for free. You need a valid license key to use EDB Postgres for Kubernetes in production.

Note

Based on the Operator Capability Levels model, users can expect a "Level V - Auto Pilot" set of capabilities from the EDB Postgres for Kubernetes Operator.

Licensing

EDB Postgres for Kubernetes works with both PostgreSQL and EDB Postgres Advanced server, and is available under the EDB Limited Use License.

You can evaluate EDB Postgres for Kubernetes for free. You need a valid license key to use EDB Postgres for Kubernetes in production.

Supported releases and Kubernetes distributions

For a list of the minor releases of EDB Postgres for Kubernetes that are supported by EDB, please refer to the "Platform Compatibility" page. Here you can also find which Kubernetes distributions and versions are supported for each of them and the EOL dates.

Multiple architectures

The EDB Postgres for Kubernetes Operator container images support the multi-arch format for the following platforms: linux/amd64, linux/ppc64le, linux/s390x.

Warning

EDB Postgres for Kubernetes requires that all nodes in a Kubernetes cluster have the same CPU architecture, thus a hybrid CPU architecture Kubernetes cluster is not supported. Additionally, EDB supports linux/ppc64le and linux/s390x architectures on OpenShift only.

Supported Postgres versions

The following versions of Postgres are currently supported:

  • PostgreSQL 15, 14, 13, 12, and 11
  • EDB Postgres Advanced 15, 14, 13, 12, and 11

All of the above versions are available on the following platforms: linux/amd64, linux/ppc64le, linux/s390x. EDB supports operand images for linux/ppc64le and linux/s390x architectures on OpenShift only.

About this guide

Follow the instructions in the "Quickstart" to test EDB Postgres for Kubernetes on a local Kubernetes cluster using Kind, or Minikube.

In case you are not familiar with some basic terminology on Kubernetes and PostgreSQL, please consult the "Before you start" section.

Note

Although the guide primarily addresses Kubernetes, all concepts can be extended to OpenShift as well.

Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada, and used with their permission.