Release notes for CloudNativePG 1.27 ==================================== CloudNativePGの1.27マイナーリリースのユーザーに表示される変更の履歴。 変更の完全なリストについては、 `commits `_ を参照してください。 GitHubのリリースブランチで。 バージョン1.27.3 ---------------- **発売日** 2026年2月5日 機能強化 ^^^^^^^^ - バックアップおよびリカバリ操作のためのAzureの\ ``DefaultAzureCredential`` 認証メカニズムのサポートを追加しました。これは、バックアップ構成で\ ``azureCredentials.useDefaultAzureCredentials: true`` を設定することにより有効にでき、明示的なストレージアカウントキーまたはSASトークンを必要とせずにAzure環境での認証を簡素化します。 ( `#9468 `_ ) 修正 ^^^^ - アンダースコアを含むPostgreSQL拡張機能名の検証を修正しましたたとえば ``pg_partman`` 、\ ``pg_ivm`` 。アンダースコアを含む拡張機能名は、マウントパスに元の名前を保持しながら、Kubernetesボリューム名にハイフンを使用するように自動的にサニタイズされます。 Webhook検証は、サニタイズ後の名前の競合を防ぎます。 @shusaanさんからの投稿。 ( `#9386 `_ ) - メジャーバージョンのアップグレード後に、クラスターステータスの\ ``TimelineID`` が1にリセットされない重要な問題を修正しました。 ``pg_upgrade`` は新しいタイムラインを初期化するため、古いIDたとえばタイムライン2を保持すると、レプリカがオブジェクトストレージから互換性のない履歴ファイルを復元しようとし、致命的な「要求されたタイムラインはこのサーバーの履歴の子ではありません」エラーが発生しました。 `#9830 `_ ) - レプリカが将来のタイムラインからタイムライン履歴ファイルをダウンロードしようとすることにより、クラッシュループに入る可能性があるバグを修正しました。これは、古いファイルが以前のクラスターライフからWALアーカイブに残り、レプリカがリカバリ中に誤ってそれらを取得しようとした場合に発生しました。 ( `#9650 `_ ) - 指定されたプライマリ移行中の\ ``replica_cluster`` セットアップの競合状態を修正し、レプリカクラスターでの一時的な「プライマリなし」状態を防止します。 ( `#9601 `_ ) - バックアップコントローラは、一意のインスタンスセッションIDを使用して、インスタンスマネージャーの再起動を検出するようになりました。これにより、基になるコンテナがクラッシュして再起動した場合、オペレーターがバックアップがまだ進行中であると誤って仮定するのを防ぎます。これにより、以前は孤立したバックアップオブジェクトが発生しました。 ( `#9370 `_ ) - 明示的な資格情報ストレージキーまたはSASトークンなどを使用する場合に\ ``storageAccount`` が必要とされなかったAzureオブジェクトストア構成の検証ギャップを修正しました。オペレーターは、これらの場合にストレージアカウント名が提供され、\ ``connectionString`` が他の認証パラメーターと相互排他的であることを適用するようになりました。 ( `#9604 `_ ) - クラスターが削除対象としてマークされると、オペレーターがすぐにリソースのクリーンアップを開始するように、削除パスを最適化しました。これにより、内部調整ループの待機中にクラスターが\ ``Terminating`` ステータスに留まる時間が大幅に削減されます。 ( `#9555 `_ ) - 機能が無効になっている場合、またはクラスターが再構成されているときに、レプリケーションスロットがレプリカから適切にドロップされない問題を修正しました。これにより、未使用のスロットがプライマリでWALのビルドアップを発生させないようになります。 ( `#9381 `_ ) - ``Pooler`` 用に作成された\ ``ServiceAccount`` に\ ``imagePullSecrets`` が追加されない問題を修正しました。以前は、これらのシークレットは展開には適用されましたが、SAには適用されなかったため、特定のセキュリティポリシーを使用して制限された環境でイメージのプルに失敗しました。 ( `#9427 `_ ) - オペレーターが\ ``PodMonitor`` を削除する前に、所有権を確認するチェックを追加しました。これにより、オペレーターが、予想されるCNPGリソースと名前を共有する手動管理モニタリングリソースを誤って削除するのを防ぎます。 @juliamertzによる寄稿。 ( `#9340 `_ ) - ``pg_stat_archiver`` メトリックが、スイッチオーバー後にスタンバイインスタンスで古いデータを報告し続けるバグを修正しました。 PostgreSQLはプライマリで有効なアーカイバー統計のみを提供するため、エクスポーターはスタンバイでこれらのメトリックをスキップするようになりました。 ( `#9411 `_ ) - リカバリー\ ``targetTime`` のタイムスタンプ形式の解釈を明確にしました。明示的なタイムゾーンなしで提供されたタイムスタンプは、一貫してUTCとして解釈されるようになりました。 @pchovelonによる寄稿。 ( `#8937 `_ ) - バックアップステータスの更新を修正して、コンカレント更新中の「リソースが変更されました」エラーを防ぎます。 ( `#9551 `_ ) - バックアップポッドが見つからない場合に、正しいポッド名を使用するようにイベントレポートを修正しました。 ( `#9552 `_ ) - 非常に多くの履歴バックアップを持つクラスターのスケジュールされたバックアップ操作のパフォーマンスの向上。 ( `#9489 `_ ) - ``Database`` オブジェクトのファイナライザーを削除する際のエラー処理を修正しました。 ( `#9431 `_ ) - ``cnpg`` プラグイン: - ``skipWalArchiving`` アノテーションがクラスターに存在する場合に「Disabled」を表示するように\ ``status`` コマンドを更新しました。これは、WALアーカイブが意図的にバイパスされる場合の、混乱を招く「起動中」または「不明」状態を置き換えます。 `#9709 `_ !– 1.27 1.25 –> - ``logs --follow`` コマンドを修正して、現在のログストリームがすべて完了したときに途中で終了するのではなく、新しいポッドのポーリングを継続します。 ( `#9599 `_ ) バージョン1.27.2 ---------------- **発売日** 2025年12月9日 .. Warning:: バージョン1.27は2026年3月9日までサポートされます。 変更 ^^^^ - デフォルトのPostgreSQLバージョンを\ ``18.1-system-trixie`` に更新しました。 ( `#9178 `_ ) - 新しい\ ``Pooler`` 展開用に、デフォルトのPgBouncerバージョンを **1.25.1** に更新しました。 ( `#9367 `_ ) .. _機能強化-1: 機能強化 ^^^^^^^^ - 識別と管理を簡単にするために、PostgreSQL ``majorVersion`` を\ ``Backup`` オブジェクトのステータスに追加しました。 ( `#8464 `_ ) - ``PGBOUNCER_IMAGE_NAME`` オペレーター構成パラメーターを追加して、デフォルトのPgBouncerイメージをオーバーライドできるようにします。これは、エアギャップ環境または内部レジストリを使用する場合に役立ちます。 ( `#9232 `_ ) - ``cnpg`` プラグイン: - クラスターサイズの計算などのファイルシステム操作のタイムアウトを構成するための\ ``kubectl cnpg status`` コマンドに\ ``--timeout`` フラグを追加しました。デフォルトは10秒のままですが、操作に時間がかかる場合がある大規模なクラスターの場合、調整できます。 `#9201 `_ ) - ``cnpg report`` を改善して、よりシェルフレンドリーなファイル名を生成しました。 ( `#8984 `_ ) .. _修正-1: 修正 ^^^^ - 一時的なKubernetes APIサーバーの接続問題に対するすべてのプローブタイプライブネス、準備状況、およびスタートアップの復元力の向上。プローブは、短時間のネットワークの中断中にキャッシュされたクラスター定義にフォールバックするキャッシュメカニズムを使用するようになり、不必要なポッドの再起動とプローブの失敗を防ぎます。 ( `#9148 `_ ) - CNPG-Iバックアップ/WALプラグイン\ ``plugin-barman-cloud`` などを使用してボリュームスナップショットから復元するときに正しく実行されるように\ ``CheckEmptyWalArchive`` セーフガードを修正しました。以前は、このチェックはプラグインベースの実装でスキップされていました。 ( `#9306 `_ ) - ImageCatalogの取得が失敗した場合のエラー報告を改善しました。オペレーターはWarningイベントを発行し、\ ``NotFound`` エラーだけでなくすべての障害タイプのエラーをログに記録するようになり、構成の問題の可視性が向上しました。 ( `#9266 `_ ) - ``cnpg.io/pluginServerName`` アノテーションを追加することにより、CNPG-Iプラグインに接続する際のTLS証明書検証の問題を修正しました。これにより、プラグインの証明書がサービス名とは別のDNS名を使用する環境で、証明書の検証に使用されるDNS名をカスタマイズできます。 ( `#9222 `_ ) - インスタンスマネージャーコントローラがエラーの後に再起動に失敗し、「コントローラは既に存在します」メッセージを報告する問題を修正しました。コントローラは、後続の初期化試行に\ ``SkipNameValidation`` を使用するようになりました。 @mateusoliveira43による寄稿。 ( `#9123 `_ ) - 宛先パスが絶対である場合、プラグインでの誤ったWAL復元パスの処理を修正し、パスの重複の問題を防ぎます。 @Endevirによる寄稿。 ( `#9093 `_ ) - PostgreSQL 13+との下位互換性があるように、マルチテーブルパブリケーションの\ ``CREATE PUBLICATION`` SQL生成を修正しました。以前に生成された構文はPostgreSQL 15+でのみ有効であり、古いバージョンでは構文エラーが発生しました。 ( `#8888 `_ ) - インデックスではなく名前で\ ``postgres`` コンテナを確実に選択することにより、複雑なポッド定義でのバックアップの失敗を修正しました。 @Joda89による寄稿。 ( `#8964 `_ ) - ``cnpg`` プラグイン - ``cnpg report`` ログ収集、特に以前のログを取得する場合のバグを修正しました。コレクターは、以前のログと現在のログを別の要求で正しく取得し、欠落している以前のログたとえば、再起動履歴のないコンテナを適切に処理し、現在のログが常に収集されるようにします。 ( `#8992 `_ ) バージョン1.27.1 ---------------- **発売日** 2025年10月23日 .. _変更-1: 変更 ^^^^ .. raw:: html - Barman Cloudのネイティブインコアサポートの廃止を少なくともバージョン1.29に遅延しました。 `#8670 `_ - ``postgres-containers`` および\ ``postgis-containers`` イメージとイメージカタログアーティファクトの新しい形式を採用し、デフォルトのPostgreSQLバージョンを\ ``18.0-system-trixie`` に **更新** PostgreSQL 18がサポートされるようになりました。 ( `#8578 `_ 、 `#8760 `_ 、 `#8558 `_ ) - ``Cluster`` および\ ``Pooler`` リソースの\ ``monitoring.enablePodMonitor`` フィールドを非推奨にしました。このフィールドは、将来のリリースでは削除される予定です。 ``PodMonitor`` リソースに依存するユーザーは、代わりに手動で作成する必要があります。 `#8753 `_ .. _機能強化-2: 機能強化 ^^^^^^^^ - 以前にハードコードされたPgBouncer ``auth_type`` 、\ ``server_tls_sslmode`` 、および\ ``client_tls_sslmode`` 設定をオーバーライドするサポートを追加しました。デフォルト値は以前の動作と一貫性のあるままですが、必要に応じてカスタマイズできるようになりました。 `#8674 `_ - PostgreSQLのスマートで高速なシャットダウンの前に\ ``CHECKPOINT`` ステップを追加して、特に\ ``checkpoint_timeout`` が高いシステムで、シャットダウン時間とレプリカプロモーション時間を削減します。 `#8867 `_ - 公式\ ``postgres-containers`` プロジェクトに基づいて、非推奨またはサポートされていないOSバージョンのインスタンスマネージャーに警告を追加しました。 `#8601 `_ - 証明書解析エラーレポートが改善されました。障害は、汎用メッセージの代わりに特定のエラーをログに記録するようになりました、トラブルシューティングを支援します。これは、Go 1.25.2および1.24.8のCVE-2025-58187修正後に特に関連しており、無効なDNS SANの解析失敗をトリガーする可能性があります。 `#8801 `_ - 他のブートストラップ方法と一貫して、 ``pg_basebackup`` 方法を使用してクラスターをブートストラップするときに、宛先WALアーカイブパスが空であることを確認するチェックを追加しました。 `#8895 `_ - 休止状態のクラスターでバックアップが実行されないように検証を追加しました。このようなクラスターで試行されたバックアップは、標準の前提条件チェックパターンに従って、\ ``ClusterIsHibernated`` の理由で失敗するようになりました。 `#8870 `_ - ``pprof`` プロファイリングのサポートを追加しました。インスタンスは、高度なデバッグのために\ ``Cluster`` リソースに\ ``alpha.cnpg.io/enableInstancePprof`` アノテーションを追加することにより、\ ``pprof`` ツールを有効にできるようになりました。 `#7876 `_ - ``cnpg`` プラグイン: - Ryan Wallnerが提供した、フレキシブルI/OテスターFIOイメージを\ ``wallnerryan/fiotools-aio:v2`` に更新しました。 `#8847 `_ - ``cnpg status backup`` コマンドを強化して、\ ``barman-cloud`` ベースのバックアッププラグインを使用する場合のより詳細なステータス情報を提供します。 ( `#8780 `_ 、 `#8690 `_ ) .. _修正-2: 修正 ^^^^ - パラレルWALリカバリーでカスタムWALセグメントサイズを使用する場合のバックアップ復元の失敗を修正しました。オペレーターは、復元中にWALの終わりファイルマーカーを管理しないため、バックアップが複数のWALセグメントにまたがる場合のエラーを防ぎます。 `#8873 `_ - 以前のマイナーバージョンからのボリュームスナップショットが誤って使用され、レプリカ作成を最適化する可能性があるメジャーアップグレードのバグを修正しました。 `#8475 `_ - 新しいクラスターをブートストラップする前にアプリケーションユーザーのシークレットを待機するように\ ``initdb`` を修正し、潜在的な競合状態を防止します。 `#8663 `_ .. raw:: html .. raw:: html - 同期レプリケーションを使用する2つのインスタンスのみを含むクラスターで正常に動作するようにクォーラムベースのフェイルオーバーを修正しました。 `#8680 `_ .. raw:: html .. raw:: html - 内部構成フィールドを無視するように構成ハッシュ計算を修正し、不必要な調整を防ぎます。 `#8868 `_ - ``cnpgi`` プラグインの接続再試行ロジックを修正しました。調整ループは、接続プールの変更を正しく検出し、指数バックオフを使用して「クローズドプール」エラーを削減します。 `#8554 `_ - バックアッププラグインと連携するように、レプリカのスケーリング中のボリュームスナップショットの使用を修正しました。以前は、この最適化はツリー内バックアップ実装でのみ利用できましたが、バックアッププラグインを使用するクラスターは、新しいレプリカを作成するときにボリュームスナップショットを活用できるようになりました。 `#8506 `_ - ブートストラップコントローラのinitコンテナの設定を正しく継承するように\ ``Pooler`` テンプレートを修正しました。 `#8394 `_ - Webhookエラーを修正して、\ ``Pooler`` の正しいAPIグループ\ ``postgresql.cnpg.io`` とバックアップWebhookを使用し、一貫したAPIエラーレポートを保証します。 `#8485 `_ - エラーを処理する際のハイバーネーションリコンサイラーの潜在的なnilポインター逆参照を修正しました。 @PascalBourdierによる寄稿。 `#8756 `_ - 呼び出し元が誤って共有データを変更する可能性がある環境キャッシュの問題を修正しました。 ``LoadEnv`` ファンクションは、キャッシュされた環境スライスのコピーを結果、ミューテーションがキャッシュに影響を与えるのを防ぐようになりました。 `#8880 `_ バージョン1.27.0 ---------------- **発売日** 2025年8月12日 重要な変更 ^^^^^^^^^^ - :ref:`Liveness Probe ` のデフォルト動作が更新されました。 :ref:`isolated primary is now forcibly shut down ` 設定された\ ``livenessProbeTimeout`` デフォルト30秒以内。 機能 ^^^^ - **PostgreSQL拡張機能の動的なロード** OCI準拠のコンテナイメージとしてパッケージされたPostgreSQL拡張機能を、インスタンスポッド内の読み取り専用の不変ボリュームとしてマウントするための\ ``.spec.postgresql.extensions`` スタンザを導入しました。これにより、ベースイメージを再構築せずに動的な拡張機能管理が可能になります。 `#7991 `_ 。 - **HAクラスターでの論理デコードスロットの同期** ``spec.replicationSlots.highAvailability`` の下に\ ``synchronizeLogicalDecoding`` フィールドを追加して、高可用性クラスター全体で論理デコードスロットの自動同期を有効にし、パブリッシャーフェイルオーバー `#7931 `_ 後に論理レプリケーションサブスクライバーがシームレスに継続されるようにします。 - **プライマリ分離チェック** 1.26で導入されたliveness pinger実験機能を安定版に昇格させ、 ``.spec.probes.liveness.isolationCheck`` セクションを追加してデフォルトでlivenessプローブのプライマリ分離チェックを有効にします。これにより、Kubernetes環境 `#7845 `_ でのプライマリ接続問題の検出と処理が向上します。 .. _機能強化-3: 機能強化 ^^^^^^^^ - クォーラムベースのフェイルオーバーを有効にして、フェイルオーバーイベント中の安全性とデータの耐久性を向上させるオプトイン実験機能を導入しました。この機能はフェイルオーバークォーラムとも呼ばれ、 ``alpha.cnpg.io/failoverQuorum`` アノテーションを介してアクティブ化できます。 `#7572 `_ 。 - ``streaming_replica`` などの事前定義されたユーザーのユーザーマップのサポートを追加し、厳密なポリシーまたは共有CAを持つ環境で異なるコモンネームを持つ自己管理クライアント証明書を使用できますが、レプリカは\ ``streaming_replica`` ロール `#7725 `_ を使用してクラスターに参加できます。 - ``Cluster`` ステータスに新しい\ ``PhaseFailurePlugin`` フェーズを追加して、プラグイン関連の障害 `#7988 `_ の可観測性を向上させます。 - ``Backup.spec`` フィールドを作成後に不変にし、バックアップ操作の一貫性と予測可能性を保証します `#7904 `_ 。 - ユーザーシークレットに\ ``fqdn-uri`` および\ ``fqdn-jdbc-uri`` フィールドを追加して、完全修飾ドメイン名ベースの接続文字列 `#7852 `_ の取得を簡素化します。 - CNPG-I - ``Postgres`` インターフェイスのサポートをCNPG-Iオペレーターに追加し、プラグインベースのアーキテクチャ `#7179 `_ に向けた移行を継続します。 - ``metrics`` 機能をCNPG-Iインスタンスウェブサーバーに追加し、インスタンスから直接メトリックの公開を有効にします可観測性の向上 `#8033 `_ 。 .. _修正-3: 修正 ^^^^ - ``switchover`` ストラテジーを使用して\ ``barman-cloud`` プラグインに移行する場合のブロック解除されたロールアウト。プラグインサポートの欠如によりWALアーカイブが失敗した後、元のプライマリポッドが正常に再起動するようになりました。 `#8236 `_ サポートされているバージョン ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Kubernetes 1.33、1.32、および1.31 - PostgreSQL 17、16、15、14、および13 - PostgreSQL 17.5がデフォルトのイメージです。PostgreSQL 13のサポートは2025年11月12日に終了します