CloudNativePG
v1.30.0Storage & DataKubernetesとPostgreSQLの機能拡張に加え、検証と互換性の見直し、既定値の変更、正確性に関わる修正を含む大規模なリリースです。複数のセキュリティ修正も含まれます。
要対応 (3)
securitycriticalプール接続の
search_path固定オペレーターは、すべてのプール接続で
search_path = pg_catalog, public, pg_tempを固定するようになりました。関連する識別子はCVE-2026-55769とGHSA-x8c2-3p4r-v9r6です。securityhighロールパスワードのSCRAM-SHA-256エンコード
オペレーターは、平文のロールパスワードをSCRAM-SHA-256形式でエンコードするようになりました。関連する識別子はCVE-2026-55765とGHSA-w3gf-xc94-wvmjです。
security機密エンドポイントの証明書検証
インスタンスマネージャーは、一致する証明書を提示しないリクエストを機密エンドポイントで拒否するようになりました。関連する識別子はGHSA-7qwx-x8ff-3px9です。
影響確認 (1)
breaking
cluster参照の不変化clusterを設定している場合に該当します。Database、Pooler、Publication、Subscription、ScheduledBackupリソースでは、cluster参照が変更できない値になりました。
事前準備 (2)
deprecated
native (in-tree) Barman Cloud supportの削除時期変更1.31.0で削除予定native (in-tree) Barman Cloud supportを使用している場合に該当します。native (in-tree) Barman Cloud supportは、1.30.0ではなく1.31.0で削除されます。deprecated
status.の非推奨化latestGeneratedNode status.を使用している場合に該当します。latestGeneratedNode status.は非推奨になりました。latestGeneratedNode
その他の記録済み変更 48 件すべてfixes 33 · additions 9 · value changes 4 · constraints 2
fixes (33)
- validation failures are surfaced in the resource status instead of failing silently later
- Fixed declarative
Database,Publication, andSubscriptionobjects reporting a stale primary-side status forever - Fixed non-sequential pod names
- Fixed deletion of a
Database,Publication, orSubscriptiongetting stuck inTerminating - Fixed a conflicting duplicate
DatabaseorSubscriptionwith adeletereclaim policy dropping the PostgreSQL object owned by the surviving CR - Fixed the
postgressuperuser being left locked out - Fixed backups getting stuck in the
startedphase - Fixed
exec/attachstreaming to negotiate WebSocket with a SPDY fallback - Fixed resource leaks when concurrent
Backupobjects raced - Fixed role reconciliation clearing the password on a PostgreSQL role when the referenced Secret could not be fetched
- Fixed a
ScheduledBackupcontroller loop - Fixed a nil-pointer panic when reconciling a
PoolerwhoseClusterhas been deleted. - Fixed bootstrap log handling so that all named log pipes (
postgres,postgres., andcsv postgres.) get consumersjson - Fixed generation of invalid IPv6 URLs by wrapping the address in square brackets.
- Fixed an external cluster plugin still being treated as active when its configuration set
enabled: false. - Fixed a race during bootstrap recovery from an object store
- Fixed a race where deleting an instance's PVCs could leave the instance permanently stuck
- Fixed a cache race during cluster creation
- Fixed the
pg_basebackupbootstrap path overwriting or failing on a pre-existingPGDATA - Fixed the
Clusterphase flapping betweenHealthyand a plugin-failure phase - Fixed stale certificate data and partial reads after an external server's Secret was rotated
- Fixed plugin connectivity to use the plugin
ServiceFQDN instead of its short name - Fixed excessive operator log noise
- Fixed
spec.accepting keys that are not valid PostgreSQL parameter namespostgresql. parameters - Fixed a switchover deadlock when a WAL-archiver plugin was enabled on an existing cluster
- Fixed a cluster staying in
Setting up primaryindefinitely - Fixed a first-primary bootstrap deadlock
- these values are now rejected at the validating webhook and re-checked at the write site
- Fixed a backup getting stuck in
pendingforever - Fixed a declarative
VolumeSnapshotbackup being permanently marked as failed - Fixed a volume snapshot backup being discarded on a transient instance-manager connection error
- Fixed a replica switchover losing its
status.demotionToken - The metrics-exporter step now runs in a separate transaction.
additions (9)
- introduced a Kubernetes
Leaseobject (named after the cluster) that acts as a mutex serializing primary promotion - introduced a
DatabaseRolecustom resource that manages a PostgreSQL role as a standalone Kubernetes object - a
DatabaseRolecan now include aclientCertificateblock - through the new
spec.fieldpgbouncer. imageCatalogRef - Added TLS support for the
Poolermetrics endpoint via..spec. monitoring. tls. enabled - Added a label selector to the
Clusterscale subresource (status.)selector - now emits a
WarningPrimaryStatusCheckFailedevent on theCluster - Added the
ENABLE_WEBHOOK_NAMESPACE_SUFFIXflag - A new
Initializedcluster condition reports whether the cluster has completed its first bootstrap
value changes (4)
- The operator now reloads a CNPG-i plugin automatically when its pods are rolled
- Pod and PVC names stay stable across instance recreation
- Updated the default PostgreSQL version to 18.4.
- PostgreSQL 18.4 is the default image - PostgreSQL 14 support ends on November 12, 2026
constraints (2)
- Enabled
pg_upgradein-place major upgrades to PostgreSQL 19 or later - Added support for Kubernetes 1.36.
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。