EDB Postgres for Kubernetes 1.18.7 release notes v1

Released: 18 Oct 2023

EDB Postgres for Kubernetes version 1.8.7 is an LTS release of EDB Postgres for Kubernetes; there is no corresponding upstream release of CloudNativePG.

Highlights of EDB Postgres for Kubernetes 1.8.7

  • Changed the default value of stopDelay to 1800 seconds instead of 30 seconds
  • Introduced a new parameter, called smartShutdownTimeout, to control the window of time reserved for the smart shutdown of Postgres to complete; the general formula to compute the overall timeout to stop Postgres is max(stopDelay - smartShutdownTimeout, 30)
  • Changed the default value of startDelay to 3600, instead of 30 seconds
  • Replaced the livenessProbe initial delay with a more proper Kubernetes startup probe to deal with the start of a Postgres server
  • Changed the default value of switchoverDelay to 3600 seconds instead of 40000000 seconds

Additionally, this release of EDB Postgres for Kubernetes includes the following:

Security fixAdded a default seccompProfile to the operator deployment.
EnhancementIntroduced the k8s.enterprisedb.io/coredumpFilter annotation to control the content of a core dump generated in the unlikely event of a PostgreSQL crash, by default set to exclude shared memory segments from the dump.
EnhancementAllowed configuration of ephemeral-storage limits for the shared memory and temporary data ephemeral volumes.
EnhancementValidation of resource limits and requests through the webhook.
EnhancementEnsure that PostgreSQL's shared_buffers are coherent with the pods' allocated memory resources.
EnhancementAdded uri and jdbc-uri fields in the credential secrets to facilitate developers when connecting their applications to the database.
EnhancementAdded a new phase, Waiting for the instances to become active, for finer control of a cluster's state waiting for the replicas to be ready.
EnhancementImproved detection of Pod rollout conditions through the podSpec annotation.
EnhancementAdded primary timestamp and uptime to the kubectl plugin's status command.
Technical enhancementReplaced k8s-api-docgen with gen-crd-api-reference-docs to automatically build the API reference documentation.
Bug fixEnsure that the primary instance is always recreated first by prioritizing ready PVCs with a primary role.
Bug fixHonor the k8s.enterprisedb.io/skipEmptyWalArchiveCheck annotation during recovery to bypass the check for an empty WAL archive.
Bug fixprevent a cluster from being stuck when the PostgreSQL server is down but the pod is up on the primary.
Bug fixAvoid treating the designated primary in a replica cluster as a regular HA replica when replication slots are enabled.
Bug fixReconcile services every time the selectors change or when labels/annotations need to be changed.
Bug fixDefault to app for both the owner and database during recovery bootstrap.
Bug fixAvoid write-read concurrency on cached cluster.
Bug fixRemove empty items, make them unique and sort in the ResourceName sections of the generated roles.
Bug fixEnsure that the ContinuousArchiving condition is properly set to 'failed' in case of errors.
Bug fixReconcile PodMonitor labels and annotations.
Bug fixFixed backup failure due to missing RBAC resourceNames on the Role object.
ObservabilityAdded TCP port label to default pg_stat_replication metric.
ObservabilityFixed the pg_wal_stat default metric for Prometheus.
ObservabilityImproved the pg_replication default metric for Prometheus
ObservabilityUsed alertInstanceLabelFilter instead of alertName in the provided Grafana dashboard
ObservabilityEnforce standard_conforming_strings in metric collection.
ChangeSet the default operand image to PostgreSQL 16.0.
ChangeFencing now uses PostgreSQL's fast shutdown instead of smart shutdown to halt an instance.
ChangeRename webhooks from kb.io to k8s.enterprisedb.io group.
ChangeAdded the k8s.enterprisedb.io/instanceRole label and deprecated the existing role label.