Skip to content

v1.16.0

Compare
Choose a tag to compare
@cnp-autobot cnp-autobot released this 20 Jul 16:26
988bdd3

Release date: Jul 20, 2022 (minor release)

Features:

  • Offline data import and major upgrades for PostgreSQL: introduce the bootstrap.initdb.import section to provide a way to import objects via the network from an existing PostgreSQL instance (even outside Kubernetes) inside a brand new EDB Postgres for Kubernetes cluster using the PostgreSQL logical backup concept (pg_dump/pg_restore). The same method can be used to perform major PostgreSQL upgrades on a new cluster. The feature introduces two types of import: microservice (import one database only in the new cluster) and monolith (import the selected databases and roles from the existing instance).
  • Anti-affinity rules for synchronous replication based on labels: make sure that synchronous replicas are running on nodes with different characteristics than the node where the primary is running, for example, availability zone

Enhancements:

  • Improve fencing by removing the existing limitation that disables failover when one or more instances are fenced
  • Enhance the automated extension management framework by checking whether an extension exists in the catalog instead of running DROP EXTENSION IF EXISTS unnecessarily
  • Improve logging of the instance manager during switchover and failover
  • Enable redefining the name of the database of the application, its owner, and the related secret when recovering from an object store or cloning an instance via pg_basebackup (this was only possible in the initdb bootstrap so far)
  • Backup and recovery:
    • Require Barman >= 3.0.0 for future support of PostgreSQL 15
    • Enable Azure AD Workload Identity for Barman Cloud backups through the inheritFromAzureAD option
    • Introduce barmanObjectStore.s3Credentials.region to define the region in AWS (AWS_DEFAULT_REGION) for both backup and recovery object stores
  • Support for Kubernetes 1.24

Changes:

  • Set the default operand image to PostgreSQL 14.4
  • Use conditions from the Kubernetes API instead of relying on our own implementation for backup and WAL archiving

Fixes:

  • Fix the initialization order inside the WithActiveInstance function that starts the CSV log pipe for the PostgreSQL server, ensuring proper logging in the cluster initialization phase - this is especially useful in bootstrap operations like recovery from a backup are failing (before this patch, such logs were not sent to the standard output channel and were permanently lost)
  • Avoid an unnecessary switchover when a hot standby sensitive parameter is decreased, and the primary has already restarted
  • Properly quote role names in ALTER ROLE statements
  • Backup and recovery:
    • Fix the algorithm detecting the closest Barman backup for PITR, which was comparing the requested recovery timestamp with the backup start instead of the end
    • Fix Point in Time Recovery based on a transaction ID, a named restore point, or the “immediate” target by providing a new field called backupID in the recoveryTarget section
    • Fix encryption parameters invoking barman-cloud-wal-archive and barman-cloud-backup commands
    • Stop ignoring barmanObjectStore.serverName option when recovering from a backup object store using a server name that doesn’t match the current cluster name
  • cnp plug-in:
    • Make sure that the plug-in complies with the -n parameter when specified by the user
    • Fix the status command to sort results and remove variability in the output