Releases: canonical/postgresql-k8s-operator
Revisions 494, 495
A new revision of Charmed PostgreSQL K8s has been published in the 14/stable channel on Charmhub.
See also: Releases overview page, How to perform an upgrade
What's Changed
This section outlines the most important highlights, features and bug fixes in this release.
Highlights
- Integration with TLS operators is now possible on Juju 3.6 LTS
- [DPE-6320][DPE-6325] General secrets resetting fix by @dragomirp in #822
- Upgraded PostgreSQL from v.14.13 → v.14.15
- Check the official PostgreSQL 14.14 release notes
- Check the official PostgreSQL 14.15 release notes
Features
- [DPE-6052] Allow
restore-to-time=latest
without abackup-id
by @marceloneppel in #787 - [DPE-6249] Add
max_locks_per_transaction
config option by @marceloneppel in #804 - [DPE-5311] Enable DCS failsafe mode by @dragomirp in #677
Bug fixes
- [DPE-6171] Fix typos in PG alert rules by @lucasgameiroborges in #823
- [DPE-6053] Fix ports by @dragomirp in #846
- [MISC] Port COS fixes from VM repo by @lucasgameiroborges in #839
- [DPE-6042] Make tox commands resilient to white-space paths by @sinclert-canonical in #780
- Fix check-libs charmcraft channel by @carlcsaposs-canonical in #818
- Fix release-libs charmcraft channel by @carlcsaposs-canonical in #829
Full Changelog: rev462...rev494
Requirements
The minimum Juju version required to reliably operate all features in this release is v3.6.1
.
See the system requirements for more details about Juju versions and other software and hardware prerequisites.
Revisions 462, 463
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
See also: Releases overview page, How to perform an upgrade
What's changed
This section outlines the most important highlights, features and bug fixes in this release.
- Upgraded PostgreSQL from v.14.12 → v.14.13
- Check the official PostgreSQL release notes
- Added timeline management to point-in-time recovery (PITR) (PR #716) (DPE-5581)
- Observability stack (COS) improvements
- Added fully-featured terraform module (PR #737) (DPE-5627)
Features
- S3 backups improvements (PR #750)
- Added pgAudit plugin/extension (PR #688) (DPE-5116)
- Removed patching of private ops class. (PR #692)
- Switched charm libs from
tempo_k8s
totempo_coordinator_k8s
and test relay support of tracing traffic throughgrafana-agent-k8s
(PR #725) - Added check for low storage space on pgdata volume (PR #685) (DPE-5301)
- Re-enabled log forwarding (PR #671)
- Avoid replication slot deletion (PR #680) (DPE-3887)
- Added pgBackRest logrotate configuration (PR #722) (DPE-5600)
- Grant priviledges to non-public schemas (PR #742) (DPE-5387)
- Added TLS flag + CA to relation databag (PR #719) (DPE-5484)
- Added warning logs to Patroni reinitialisation (PR #753) (DPE-5712)
- Reduced pgdate permissions (PR #759) (DPE-5915)
- Split off new interface client app tests (PR #761)
- Temporarily disable log forwarding (PR #757)
- Changed owner of functions, procedures and aggregates (PR #773)
- Only update tls flags on leader (PR #770)
- Preload shared libs on normal PG start (PR #774) (DPE-6033)
Bug fixes
- Fixed PITR backup test instabilities (PR #690)
- Fixed some
postgresql.conf
parameters for hardening (PR #702) (DPE-5511) - Fixed event deferring issue with missing S3 relation (PR #762) (DPE-5934)
- Fixed connection rejection rule in
pg_hba.conf
(PR #751) (DPE-5689)
Full Changelog: rev444...rev462
Known limitations
- Juju 3.6.1+ is required for consistent usage of Terraform-Provider-Juju (more details here).
Requirements
The minimum Juju version required to reliably operate all features in this release is v.3.6.1
.
See the system requirements for more details about Juju versions and other software and hardware prerequisites.
Revisions 444, 445
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
See also: Releases overview page, How to perform an upgrade
What's changed
This is a hotfix release to add Juju v3.6
compatibility for the previous stable release (381/382).
- Fixed Juju 3.6 support - fixed Pebble 1.12+ compatibility (DPE-5915)
Full Changelog: rev381...rev444
Revisions 381, 382
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
See also: Releases overview page, How to perform an upgrade
What's changed
This section outlines the most important highlights, features and bug fixes in this release.
- Upgraded PostgreSQL from v.14.11 → v.14.12 (PR #563)
- Check the official PostgreSQL release notes
- Added support for Point In Time Recovery (PR #554) (DPE-4839)
- Added COS tracing support with tempo-k8s (PR #497) (DPE-4617)
Features
- Added user warning when deploying charm with wrong architecture (PR #613) (DPE-4239)
- Improved backups behavior (PR #542) (DPE-4479)
- Add libpq's connection string URI format to
uri
field in relation databag (PR #545) (DPE-2278) - Changed 'master' to 'primary' in Patroni leader role (PR #532) (DPE-1177)
- Added password to Patroni's REST API (PR #661) (DPE-5275)
- Improve pgbackrest logging (PR #587)
Bug fixes
- Restart pebble service if it's down (PR #581) (DPE-4806)
- Switched test app interface (PR #595)
- Addeded missing
await
toinvalid_extra_user_roles
integration test + fix check loop (PR #602) - Fixed UTC time zone (PR #592)
- Fix PITR test on Juju 2.9 (PR #596) (DPE-4990)
- Fixed storage ownership (PR #580) (DPE-4227)
- Fixed get-password action description (PR #605) (DPE-5019)
- Quick fix for blocked CI (PR #533)
- CI stability fixes + slicing tests (PR #524) (DPE-4620)
- Added test for relations coherence (PR #505)
- Addressed test_charm and test_self_healing instabilities (PR #510) (DPE-4594)
- Split PITR backup test in AWS and GCP (PR #664) (DPE-5244)
- Import JujuVersion from ops.jujuversion instead of ops.model (PR #640)
- Don't block on missing Postgresql version (PR #626) (DPE-3562)
- Run integration tests on arm64 (PR #478)
- Improved async replication stability (PR #526) (DPE-4736)
- Removed deprecated config option
profile-limit-memory
(PR #608) - Pause Patroni in the TLS test (PR #588) (DPE-4533)
- Enforce Juju versions (PR #544) (DPE-4811)
- Block charm if plugin disable fails due to dependent objects (PR #567) (DPE-4801)
- Temporarily disable log forwarding & fix for race in Patroni REST password setup (PR #663)
- Use manifest file to check for charm architecture (PR #665) (DPE-4239)
- Only write app data if leader (PR #676) (DPE-5325)
- Added log for
fix_leader_annotation
method (PR #679)
Full Changelog: rev280...rev381
Known limitations
- The unit action
resume-upgrade
randomly raises a harmless error message:terminated
. - The charm sysbench may crash during a PostgreSQL charm refresh.
- Make sure that cluster-cluster replication is requested for the same charm/workload revisions. An automated check is planned.
- Contact us to schedule a cluster-cluster replication upgrade with you.
Requirements
The minimum Juju version required to reliably operate all features in this release is v3.4.5
.
See the system requirements for more details about Juju versions and other software and hardware prerequisites.
Revisions 280, 281
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
What's changed
This section outlines the most important highlights, features and bugfixes in this release.
- PostgreSQL has been upgraded from
v.14.10
tov.14.11
(PR #432).- Check the official PostgreSQL release notes
- Added support for ARM64 architecture (PR #408)
- Added support for cross-regional asynchronous replication (PR #447) (DPE-2897).
- This feature focuses on disaster recovery by distributing data across different servers. Check our new how-to guides for a walkthrough of the cross-model setup, promotion, switchover, and other details.
- Added support for tracing with Tempo K8s (PR #497)
- Released new Charmed Sysbench operator for easy performance testing.
Features
- Added timescaledb plugin/extension (PR #488)
- See the Configuration tab for all parameters.
- Added incremental and differential backup support (PR #487)(PR #476)(DPE-4464)
- Check the guide: How to create and list backups
- Added support for disabling the operator (DPE-2470)
- Added configuration option for backup retention time (PR #477)(DPE-4401)
- See the Configuration tab for all parameters
- Added message to inform users about missing
--trust
flag (PR #440)(DPE-3885) - Added
experimental_max_connections
config option (PR #500) - Introduced a block on legacy roles request (modern interface only) (PR#391)(DPE-3099)
Bug fixes
- Fixed large objects ownership (PR #390)(DPE-3551)
- Fixed shared buffers validation (PR #396)(DPE-3594)
- Fixed handling S3 relation in primary non-leader unit (PR #375)(DPE-3349)
- Stabilized SST and network cut tests (PR #385)(DPE-3473)
- Fixed pod reconciliation: rerender config/service on pod recreation (PR#461)(DPE-2671)
- Addressed main instability sources on backups integration tests (PR#496)(DPE-4427)
- Fixed scale up with S3 and TLS relations in (PR#489)(DPE-4456)
Canonical Data issues are now public on both Jira and GitHub.
Full Changelog: rev193...rev280
Packaging
This charm is based on the charmed-postgresql
snap (pinned revision 113). It packages:
- postgresql
v.14.11
- pgbouncer
v.1.21
- patroni
v.3.1.2
- pgBackRest
v.2.48
- prometheus-postgres-exporter
v.0.12.1
Contact us
Charmed PostgreSQL K8s is an open source project that warmly welcomes community contributions, suggestions, fixes, and constructive feedback.
Revision 193
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
What's changed
This section outlines the most important highlights, features and bugfixes in this release.
PostgreSQL has been upgraded from 14.9
to 14.10
(DPE-3217)
Note
It is advisable to re-index potentially affected indexes after installing this update! (See PostgreSQL14.10 changelog)
Features
- [CORE] Juju 3.1.7+ support (#2037120)
- [PLUGINS] pgVector extension/plugin (DPE-3159)
- [PLUGINS] New PostGIS plugin (#363)
- [PLUGINS] More new plugins - 50 in total
- [MONITORING] COS Awesome Alert rules (DPE-3161)
- [SECURITY] Updated TLS libraries for compatibility with new charms
- manual-tls-certificates
- self-signed-certificates
- Any charms compatible with tls_certificates_interface.v2.tls_certificates
- All functionality from previous revisions
Bug fixes
- Stabilized internal Juju secrets management (DPE-3199 | #358)
- Check system identifier in stanza (backups setup stabilization) (DPE-3061)
Full Changelog: rev177...rev193
Inside the charms
- Charmed PostgreSQL ships the PostgreSQL
14.10-0ubuntu0.22.04.1
- PostgreSQL cluster manager Patroni -
v.3.1.2
- Backup tools pgBackRest -
v.2.48
- The Prometheus postgres_exporter is
0.12.1-0ubuntu0.22.04.1~ppa1
- This charm uses ROCK OCI (postgresql-image resource-revision 149) based on SNAP revision 96
- This charm ships the latest base
Ubuntu LTS 22.04.3
Technical notes
- Starting with this revision (193+), you can use
juju refresh
to upgrade Charmed PostgreSQL K8s - It is recommended to use this operator together with modern Charmed PgBouncer operator
- Please check the external components requirements
- Please check the previously posted restrictions
- Ensure the charm requirements met
Contact us
Charmed PostgreSQL K8s is an open source project that warmly welcomes community contributions, suggestions, fixes, and constructive feedback.
Revision 177
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
What's changed
This section outlines the most important highlights, features and bugfixes in this release.
Updated Charmed PostgreSQL
ROCK image in (PR#336)(DPE-3039):
Patroni
updated from 3.0.2 to 3.1.2Pgbackrest
updated from 2.47 to 2.48
Features
- [Plugins] Add 24 new plugins/extension in (PR#294)
- [Plugins] NOTE: extension
plpython3u
is deprecated and will be removed from list of supported plugins soon! - [Config] Add 29 new configuration options in (PR#281)(DPE-1782)
- [Config] NOTE: the config option
profile-limit-memory
is deprecated. Useprofile_limit_memory
(to follow the naming conventions)! (PR#348)(DPE-3095) - [Charm] Add Juju Secret labels in (PR#303)(DPE-2838)
- [Charm] Update Python dependencies in (PR#315)(PR#318)
- [DB] Add handling of tables ownership in (PR#334)(DPE-2740)
- [COS] Moved Grafana dashboard legends to the bottom of the graph in (PR#337)(DPE-2622)
- [CI/CD] Charm migrated to GitHub Data reusable workflow in (PR#338)(DPE-3064)
- All the functionality from the previous revisions
Bugfixes
Canonica Data issues are now public on both Jira and GitHub platforms.
GitHub Releases provide a detailed list of bugfixes/PRs/Git commits for each revision.
- Fixed handle scaling to zero units in (PR#331)(DPE-2728)
- Fixed plugins enabling performance by toggling all plugins in one go (PR#322)(DPE-2903)
- Fixed enabling extensions when new database is created in (PR#290)(DPE-2569)
- Fixed locales availability in ROCK (PR#291)
Full Changelog: rev158...rev177
Inside the charms
- Charmed PostgreSQL K8s ships the latest PostgreSQL “14.9-0ubuntu0.22.04.1”
- PostgreSQL cluster manager Patroni updated to "3.2.1"
- Backup tools pgBackRest updated to "2.48"
- The Prometheus postgres-exporter is "0.12.1-0ubuntu0.22.04.1~ppa1"
- K8s charms based on our ROCK OCI (Ubuntu LTS “22.04” - ubuntu:22.04-based) based on SNAP revision 89
- Principal charms supports the latest LTS series “22.04” only
- Subordinate charms support LTS “22.04” and “20.04” only
Technical notes
- Upgrade (
juju refresh
) is possible from this revision 158+ - Use this operator together with a modern operator "pgBouncer K8s"
- Please check the external components requirements
- Please check additionally the previously posted restrictions
- Ensure the charm requirements met
Contact us
Charmed PostgreSQL K8s is an open source project that warmly welcomes community contributions, suggestions, fixes, and constructive feedback.
Revision 158
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
Features you can start using today
- Add Juju 3 support (Juju 2 is still supported) [DPE-1758]
- All secrets are now stored in Juju secrets [DPE-1758]
- Charm minor upgrades and minor rollbacks [DPE-1767]
- Canonical Observability Stack (COS) support [DPE-1775]
- PostgreSQL plugins support [DPE-1372]
- Profiles configuration support [DPE-2656]
- Logs rotation [DPE-1755]
- Workload updated to PostgreSQL 14.9 [PR#18]
- Add '
admin
' extra user role [DPE-2167] - New charm 'PostgreSQL Test App'
- New documentation:
- All the functionality from the previous revisions
Bugfixes
Canonical Data issues are now public on both Jira and GitHub platforms.
GitHub Releases provide a detailed list of bugfixes/PRs/Git commits for each revision.
Highlights for the current revision:
- DPE-1470, DPE-2419 Fixed K8s resources cleanup
- DPE-1584 Backup/restore stabilization bugfixes
- DPE-2546 Split stanza create and stanza check (backup stabilization)
- DPE-2626, DPE-2627 Create bucket once and clear up blocked statuses (backup stabilization)
- DPE-2657 Fix replication after restore
- DPE-1590 Fixed deployment on old microk8s (e.g. 1.22)
- DPE-2193 Fixed databases access to requested db only
- DPE-1999 Fixed TLS race condition in new relations (stuck in 'awaiting for cluster to start'/'awaiting for member to start')
- DPE-2338 Use SCRAM by default
- DPE-2616 Auto-tune profile
production
(mimic defaults of the legacy charm) - DPE-2569 Set waiting status while extensions are being enabled
- DPE-2015, DPE-2044 Add missing zoneinfo
Full Changelog: rev73...rev158
Inside the charms
- Charmed PostgreSQL K8s ships the latest PostgreSQL “14.9-0ubuntu0.22.04.1”
- PostgreSQL cluster manager Patroni updated to "3.0.2"
- Backup tools pgBackRest updated to "2.47"
- The Prometheus postgres-exporter is "0.12.1-0ubuntu0.22.04.1~ppa1"
- K8s charms based on our ROCK OCI (Ubuntu LTS “22.04” - ubuntu:22.04-based)
- Principal charms supports the latest LTS series “22.04” only.
- Subordinate charms support LTS “22.04” and “20.04” only.
Technical notes
juju refresh
from the old-stable revision 73 to the current-revision 158 is NOT supported!!!
The upgrade functionality is new and supported for revision 158+ only!- Please check the external components requirements
- Please check additionally the previously posted restrictions
- Ensure the charm requirements met
Contact us
Charmed PostgreSQL K8s is an open source project that warmly welcomes community contributions, suggestions, fixes, and constructive feedback.
Revision 73
A new revision of Charmed PostgreSQL operator for Kubernetes has been published in the 14/stable
channel.
Features you can start using today
- Deploying on Kubernetes (tested with MicroK8s, GKE)
- Scaling up/down in one simple juju command
- HA using Patroni
- Full backups and restores are supported when using any S3-compatible storage
- TLS support (using “tls-certificates” operator)
- DB access outside of Juju using “data-integrator”
- Data import using standard tools e.g. “PostgreSQL Data Injector”
- Documentation
Full Changelog: https://github.com/canonical/postgresql-k8s-operator/commits/rev73
Inside the charms
- Charmed PostgreSQL K8s charm ships the latest PostgreSQL “14.7-0ubuntu0.22.04.1”
- K8s charms based on our ROCK OCI (Ubuntu LTS “22.04” - ubuntu:22.04-based)
- Principal charms supports the latest LTS series “22.04” only.
- Subordinate charms support LTS “22.04” and “20.04” only.
Technical notes
Compatibility with legacy charms:
- The new PostgreSQL charm is also a juju interface-compatible replacement for legacy PostgreSQL charms (using legacy interface
pgsql
, via endpointsdb
anddb-admin
).
However, it is highly recommended to migrate to the modern interfacepostgresql_client
(endpointdatabase
).- Please contact us if you are considering migrating from other “legacy” charms not mentioned above.
- Charm PostgreSQL K8s charm follows the SNAP track “14” (through repackaed ROCK/OCI image).
- No “latest” track in use (no surprises in tracking “latest/stable”)!
- Charmed PostgreSQL K8s charms provide legacy charm through “latest/stable”.
- Charm lifecycle flowchart diagrams: PostgreSQL.
- Modern interfaces are well described in “Interfaces catalogue” and implemented by 'data-platform-libs'.
- Known limitation: PostgreSQL extensions are not yet supported.
Contact us
Charmed PostgreSQL K8s is an open source project that warmly welcomes community contributions, suggestions, fixes, and constructive feedback.