EDB Postgres for Kubernetes 1.11.0 release notes v1

Released: 15 Dec 2021

This release of EDB Postgres for Kubernetes includes the following:

TypeDescription
FeatureParallel WAL archiving and restore: allow the database to keep up with WAL generation on high write systems by introducing the backupObjectStore.maxParallel option to set the maximum number of parallel jobs to be executed during both WAL archiving (by PostgreSQL’s archive_command) and WAL restore (by restore_command). Using parallel restore option can allow newly promoted Standbys to get to a ready state faster by fetching needed WAL files to replay in parallel rather than sequentially.
FeatureDefault set of metrics for monitoring: a new ConfigMap called default-monitoring is automatically deployed in the same namespace of the operator and, by default, added to any existing Postgres cluster. Such behavior can be changed globally by setting the MONITORING_QUERIES_CONFIGMAP parameter in the operator’s configuration, or at cluster level through the .spec.monitoring.
FeaturedisableDefaultQueries option (by default set to false).
FeatureIntroduce the enablePodMonitor option in the monitoring section of a cluster to automatically manage a PodMonitor resource and seamlessly integrate with Prometheus.
FeatureImprove the PostgreSQL shutdown procedure by trying to execute a smart shutdown for the first half of the desired stopDelay time, and a fast shutdown for the remaining half, before the pod is killed by Kubernetes.
FeatureAdd the switchoverDelay option to control the time given to the former primary to shut down gracefully and archive all the WAL files before promoting the new primary (by default, Cloud Native PostgreSQL waits indefinitely to privilege data durability).
FeatureHandle changes to resource requests and limits for a PostgreSQL Cluster by issuing a rolling update.
FeatureImprove the status command of the cnp plugin for kubectl with additional information: streaming replication status, total size of the database, role of an instance in the cluster.
FeatureEnhance support of workloads with many parallel workers by enabling configuration of the dynamic_shared_memory_type and shared_memory_type parameters for PostgreSQL’s management of shared memory.
FeaturePropagate labels and annotations defined at cluster level to the associated resources, including pods (deletions are not supported).
FeatureAutomatically remove pods that have been evicted by the Kubelet.
FeatureManage automated resizing of persistent volumes in Azure through the ENABLE_AZURE_PVC_UPDATES operator configuration option, by issuing a rolling update of the cluster if needed (disabled by default).
FeatureIntroduce thek8s.enterprisedb.io/reconciliationLoop annotation that, when set to disabled on a given Postgres cluster, prevents the reconciliation loop from running.
FeatureIntroduce the postInitApplicationSQL option as part of the initdb bootstrap method to specify a list of SQL queries to be executed on the main application database as a superuser immediately after the cluster has been created.
FeatureSupport for EDB Postgres Advanced 14.2.
Bug fixLiveness probe now correctly handles the startup process of a PostgreSQL server. This fixes an issue reported by a few customers and affects a restarted standby server that needs to recover WAL files to reach a consistent state, but it was not able to do it before the timeout of liveness probe would kick in, leaving the pods in CrashLoopBackOff status.
Bug fixLiveness probe now correctly handles the case of a former primary that needs to use pg_rewind to re-align with the current primary after a timeline diversion. This fixes the pod of the new standby from repeatedly being killed by Kubernetes.
Bug fixReduce client-side throttling from Postgres pods (e.g. Waited for 1.182388649s due to client-side throttling, not priority and fairness, request: GET).
Bug fixDisable Public Key Infrastructure (PKI) initialization on OpenShift and OLM installations, by using the provided one.
Bug fixWhen changing configuration parameters that require a restart, always leave the primary as last.
Bug fixMark a PVC to be ready only after a job has been completed successfully, preventing a race condition in PVC initialization.
Bug fixUse the correct public key when renewing the expired webhook TLS secret.
Bug fixFix an overflow when parsing an LSN.
Bug fixRemove stale PID files at startup.
Bug fixLet the Pooler resource inherit the imagePullSecret defined in the operator, if exists.