CloudNativePG 1.25のリリースノート

CloudNativePGの1.25マイナーリリースのユーザーに表示される変更の履歴。

変更の完全なリストについては、 commits を参照してください。

GitHubのリリースブランチで。

バージョン1.25.1

** GA date** 2025年2月28日

機能強化

  • オペレーターのスタートアッププローブを導入して、信頼性を向上させ、初期化中の早期の活性プローブの障害を防止します。 (#7008)

  • プーラーでの-r サービスを使用するためのサポートを追加しました。 (#6868)

  • pgbench プラグインのオプションの--ttl フラグを導入し、ユーザー定義の期間の後に完了したジョブの自動削除を有効にします。 (#6701)

  • ボリュームスナップショットのAzure CSIドライバーからの既知のエラーメッセージを再試行可能としてマークし、復元力を向上させます。 (#6906)

  • 新しいクラスター定義に向けて、デフォルトのPostgreSQLバージョンを17.4に更新しました。 (#6960)

セキュリティ

  • オペレーターイメージビルドプロセスが強化され、セキュリティと透明性が強化されました。イメージはcosign で署名され、ソフトウェア部品表SBOMと来歴データを組み込んだOCI証明書が生成されます。さらに、OCIアノテーションが追加されて、トレーサビリティを向上させ、イメージの完全性を保証します。

バグ修正

  • .spec.probes が定義されている場合のデフォルトのプローブノブ値の一貫性のない動作を修正し、ユーザーがfailureThreshold を含むすべての設定をオーバーライドできるようにします。起動プローブで指定されない場合、 failureThreshold は.spec.startupDelay / periodSeconds デフォルト10 、オーバーライド可能になりました。同じロジックが.spec.livenessProbeTimeout を介してlivenessプローブに適用されます。 (#6656)

  • 管理対象サービスポートが、デフォルトのオペレーター定義のポートより優先されるようになりました。 (#6474)

  • インスタンスの再起動後、構成変更が適用されるまで、WALメトリックを利用できない問題を修正しました。 (#6816)

  • モノリシックデータベースのインポートで、ロールが指定されていない場合にロールのインポートがスキップされる問題を修正しました。 (#6646)

  • PgBouncer 1.24で導入された新しいメトリックのサポートを追加しました。 (#6630)

  • クラスターリハイドレーション後にDatabase 、Publication 、およびSubscription CRDがcluster resource has been deleted, skipping reconciliation でスタックする問題を解決しました。このパッチは、 status.observedGeneration を強制的にゼロにし、適切なリコンシリエーションを保証します。 (#6607)

  • プライマリサーバー再起動後のタイムリーな調整を保証することにより、レプリケーション依存のパラメーター削減の処理が向上しました。 (#6440)

  • CNPG-Iプラグイン構成に新しいisWALArchiver フラグを導入し、ユーザーはプラグインをWALアーカイバーとして指定できます。これにより、WALアーカイブの一貫性を維持しながら、ツリー内Barman Cloudサポートからプラグインへのシームレスな移行が可能になります。 (#6593)

  • レプリカクラスターのブートストラップ中にoverride.conf が一貫してpostgresql.conf に含まれるように保証、構成設定の欠落によるレプリケーション障害を防ぎます。 (#6808)

  • プライマリロールの変更中の障害を防ぐために、pg_rewind を呼び出す前にoverride.conf が正しく初期化されていることを確認しました。 (#6670)

  • Webhook応答を強化して、該当する場合は警告とエラーの両方を結果、診断の精度を向上させます。 (#6579)

  • オペレーターバージョンが正しくリコンサイルされていることを確認しました。 (#6496)

  • データディレクトリのより正確なチェックを使用することにより、PostgreSQLバージョンの検出が向上しました。 (#6659)

  • ボリュームスナップショットバックアップ

  • 未使用のバックアップ接続が適切にクリーンアップされない問題を修正しました。 (#6882)

  • インスタンスマネージャーが、失敗したボリュームスナップショットバックアップによって残された古いPostgreSQL接続を閉じるようにしました。 (#6879)

  • 別のボリュームが既に進行中であるときに、オペレーターが新しいボリュームスナップショットバックアップを開始できないようにしました。 (#6890)

  • cnpg プラグイン:

  • promote プラグインコマンドの機能を復元しました。 (#6476)

  • サイドカーを含むすべてのコンテナからログを収集するようにkubectl cnpg report --logs <cluster> を強化しました。 (#6636)

  • Cluster がImageCatalog を使用するときにpgbench ジョブを実行できるようにしました。 (#6868)

技術的な機能強化

  • Kubernetes client-gen のサポートを追加し、すべてのCloudNativePG CRDのGoクライアントの自動生成を有効にします。 (#6695)

バージョン1.25.0

** GA date** 2024年12月23日

機能

  • 宣言的データベース管理 Database カスタムリソース定義CRDを導入し、ユーザーはクラスター内でPostgreSQLデータベースを宣言的に作成および管理できます。 (#5325)

  • 論理レプリケーション管理 PostgreSQL論理レプリケーションの宣言管理用にPublication およびSubscription CRDを追加します。これらにより、レプリケーションのセットアップが簡素化され、CloudNativePGへのオンライン移行が容易になります。 (#5329)

  • CNPG-Iの実験サポート サードパーティのプラグインを介してCloudNativePG機能を拡張し、CNPGエコシステムの成長を促進するように設計された標準化フレームワークであるCNPG-I CloudNativePGインターフェイスの紹介。 Barman Cloud Plugin はライブ例として機能し、バックアップとリカバリーのワークフローを強化するためにプラグインを開発する方法を示しています。 CNPG-Iサポートは現在実験的ですが、PostgreSQL拡張機能に似ており、オペレーターのコアコードを変更せずにCloudNativePGを拡張する強力なアプローチを提供します。このエキサイティングな新機能を形作るためのコミュニティのフィードバックと貢献を歓迎します。

機能強化

  • dataDurability オプションを.spec.postgresql.synchronous スタンザに追加し、ユーザーが同期レプリケーションでrequired デフォルトまたはpreferred の耐久性を選択できるようにします。 (#5878)

  • .spec.probes スタンザを介してスタートアップ、ライブネス、および準備状況プローブのカスタマイズを有効にします。 (#6266)

  • 追加のpg_dump およびpg_restore オプションをサポートして、データベースのインポートの柔軟性を強化します。 (#6214)

  • CloudNativePGコントローラにmaxConcurrentReconciles のサポートを追加し、デフォルトを10に設定して、オペレーターがすぐに大規模な展開を効率的に管理する能力を向上させます。 (#5678)

  • 事前定義されたユーザー、具体的にはsuperuser およびapp 用に生成されたシークレットにcnpg.io/userType ラベルを追加します。 (#4392)

  • ScheduledBackupsのspec.schedule フィールドの検証が向上し、潜在的な構成ミスの警告が生成されます。 (#5396)

  • cnpg プラグイン:

  • プラグインをサポートするようにbackup コマンドを強化します。 (#6045)

  • APIサーバーでのHTTP要求のUser-Agent ヘッダーを尊重します。 (#6153)

バグ修正

  • レプリカとして再同期する前に、元のプライマリがWALファイルキューをアーカイブにフラッシュすることにより、復旧時間を削減し、フェールオーバー中のデータの一貫性を強化します。 (#6141)

  • ブートストラップ中にPGDATA ボリュームとともにWALボリュームをクリーンアップします。 (#6265)

  • 以前に生成されたPersistentVolumeClaims がすべて欠落している場合、クラスターフェーズをUnrecoverable に設定するようにオペレーターを更新します。 (#6170)

  • .spec.postgresql.synchronous.method がfirst に設定されている場合のsynchronous_standby_names GUCの解析を修正しました。 (#5955)

  • CRDステータスの特定の条件にパッチを適用する際の潜在的な競合状態を解決し、同時更新の信頼性を向上させます。 (#6328)

  • ロールの変更を修正して、データベースコンテキストではなくトランザクションレベルで適用します。 (#6064)

  • プライマリ上のoverride.conf ファイルからprimary_slot_name 定義を削除して、常に空になるようにします。 (#6219)

  • PgBouncerポッドでPGHOST を含むlibpq環境変数を構成して、コンテナ内からpsql を使用してpgbouncer 仮想データベースへのシームレスなアクセスを有効にします。 (#6247)

  • イメージカタログの変更を確認するときに、クラスターステータスの不要な更新を削除します。 (#6277)

  • 適切なバックアップ構成なしで外部サーバーからのリカバリー中のパニックを防止します。 (#6300)

  • 2つの異なる値のログに名前フィールドが一貫して使用されない、構造化ログのキー衝突の問題を解決しました。 (#6324)

  • SQLステートメントのinRolesフィールドの適切な引用符を確認して、ロール管理中に生成されたSQLの構文エラーを防ぎます。 (#6346)

  • cnpg プラグイン:

  • kubectl コンテキストがpsql コマンドに適切に渡されることを確認します。 (#6257)

  • status コマンドで空のときに物理バックアップブロックを表示しないようにします。 (#5998)

サポートされているバージョン

  • Kubernetes 1.32、1.31、1.30、および1.29

  • PostgreSQL 17、16、15、14、および13 -デフォルトイメージPostgreSQL 17.2 - PostgreSQL 12のサポートを公式に終了しました - PostgreSQL 13のサポートは2025年11月12日に終了します