Release notes for CloudNativePG 1.27

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

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

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

バージョン1.27.2

発売日 2025年12月9日

警告

バージョン1.27は2026年3月9日までサポートされます。

変更

  • デフォルトのPostgreSQLバージョンを18.1-system-trixie に更新しました。 ( #9178 )

  • 新しいPooler 展開用に、デフォルトのPgBouncerバージョンを 1.25.1 に更新しました。 ( #9367 )

機能強化

  • 識別と管理を簡単にするために、PostgreSQL majorVersionBackup オブジェクトのステータスに追加しました。 ( #8464 )

  • PGBOUNCER_IMAGE_NAME オペレーター構成パラメーターを追加して、デフォルトのPgBouncerイメージをオーバーライドできるようにします。これは、エアギャップ環境または内部レジストリを使用する場合に役立ちます。 ( #9232 )

  • cnpg プラグイン:

    • クラスターサイズの計算などのファイルシステム操作のタイムアウトを構成するためのkubectl cnpg status コマンドに--timeout フラグを追加しました。デフォルトは10秒のままですが、操作に時間がかかる場合がある大規模なクラスターの場合、調整できます。 #9201 )

    • cnpg report を改善して、よりシェルフレンドリーなファイル名を生成します。 ( #8984 )

修正

  • 一時的な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日

変更

  • 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

機能強化

  • 以前にハードコードされたPgBouncer auth_typeserver_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 )

修正

  • パラレルWALリカバリーでカスタムWALセグメントサイズを使用する場合のバックアップ復元の失敗を修正しました。オペレーターは、復元中にWALの終わりファイルマーカーを管理しないため、バックアップが複数のWALセグメントにまたがる場合のエラーを防ぎます。 #8873

  • 以前のマイナーバージョンからのボリュームスナップショットが誤って使用され、レプリカ作成を最適化する可能性があるメジャーアップグレードのバグを修正しました。 #8475

  • 新しいクラスターをブートストラップする前にアプリケーションユーザーのシークレットを待機するようにinitdb を修正し、潜在的な競合状態を防止します。 #8663

  • 同期レプリケーションを使用する2つのインスタンスのみを含むクラスターで正常に動作するようにクォーラムベースのフェイルオーバーを修正しました。 #8680

  • 内部構成フィールドを無視するように構成ハッシュ計算を修正し、不必要な調整を防ぎます。 #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日

重要な変更

設定された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 でのプライマリ接続問題の検出と処理が向上します。

機能強化

  • クォーラムベースのフェイルオーバーを有効にして、フェイルオーバーイベント中の安全性とデータの耐久性を向上させるオプトイン実験機能を導入しました。この機能はフェイルオーバークォーラムとも呼ばれ、 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

修正

  • 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日に終了します