Release notes for CloudNativePG 1.27
CloudNativePG 1.27のリリースノート
CloudNativePGの1.27マイナーリリースのユーザーに表示される変更の履歴。
変更の完全なリストについては、 commits を参照してください。
GitHubのリリースブランチで。
バージョン1.27.4
発売日 2026年3月31日
警告
これは、1.27.xシリーズの最後のリリースです。 1.27はサポートされていないため、新しいマイナーバージョンにアップグレードすることを強くお勧めします。
重要な変更
ネイティブツリー内Barman Cloudサポートの非推奨通知を更新して、1.29.0ではなくCloudNativePG 1.30.0で削除されることを反映しています。ユーザーは引き続きBarman Cloudプラグインに移行することをお勧めします。 ( #10167 )
機能強化
TLS暗号スイートと最小/最大TLSバージョンの詳細な構成のサポートにより
PoolerCRDを改善しました。これにより、管理者は、プーラーからクライアント、およびプーラーからサーバーへの接続に関する厳密なセキュリティコンプライアンス要件を満たすことができます。 @alex1989huによる投稿。 ( #9571 )アップグレードジョブで
BackoffLimit=0を設定することにより、メジャーアップグレードの信頼性が向上し、失敗したpg_upgradeの不必要な再試行を防止します。ユーザーがコンテナイメージを元に戻すときに、オペレーターは失敗したジョブを自動的に削除するため、クラスターが元のバージョンで正常に再起動できます。 ( #10104 、 #10298 )各調整サイクルの前にインスタンスがプライマリであることを確認することによりロール管理を向上させ、読み取り専用レプリカでの不要な調整試行と偽のエラーメッセージを回避します。 ( #9971 )
1.29で導入された
extensions、bin_path、およびenvフィールドを受け入れるようにCluster、ImageCatalog、およびClusterImageCatalogのCRDスキーマを拡張しました。オペレーターは古いバージョンでこれらのフィールドを無視しますが、スキーマでそれらを受け入れることにより、ユーザーは異なるCNPGバージョンを実行しているクラスター間で単一のマニフェストを共有できます。 ( #10131 、 #10387 )オペレーターは、クラスターに新しいPVCを追加するときに
primaryUpdateMethodを優先するようになりました、ストレージの拡張または追加中にロールアウト戦略たとえば、スイッチオーバー対リスタートが尊重されるようにします。 ( #9720 )
セキュリティとサプライチェーン
セキュリティベストプラクティスの統合 OpenSSFベースラインスキャナーを統合し、
SECURITY-INSIGHTS.yamlファイルをリポジトリに追加して、業界標準のセキュリティレポートと調整します。 ( #10054 , #10062 )SLSA来歴とSBOM リリースバイナリとコンテナイメージにSLSAサプライチェーンレベルソフトウェアアーティファクトの来歴を追加しました。さらに、GoReleaserパイプライン内のソフトウェア部品表SBOM生成を有効にして、依存関係の透明性を向上させました。 ( #10048 , #10074 )
パスワード漏洩防止 PostgreSQLが特定の調整フェーズ中にログにロールパスワードを漏洩する可能性がある潜在的なセキュリティリスクを修正しました。 ( #9950 )
変更
デフォルトのPostgreSQLバージョンを18.3イメージ
18.3-system-trixieに更新しました。 ( #10090 )
修正
ディスク領域チェックがインスタンスマネージャーの起動をブロックしたため、WALディスクがいっぱいになったときにフェンシングアノテーションを処理できない問題を修正しました。チェックは、ライフサイクルループの後半で、フェンシングが評価された後、実行されるようになりました。 ( #10302 )
初期ブートストラップに使用される
VolumeSnapshotが削除されている場合、レプリカがPending状態でスタックしてしまう問題を修正しました。オペレーターは、使用前にスナップショットの存在を検証するようになりました。スナップショットが見つからない場合は、次の利用可能な候補を使用しようとするか、pg_basebackupにフォールバックします。 ( #10192 )「監視対象プライマリ」ロールアウト戦略が、以前にスケジュールされた更新の遅延を引き起こしていた、使用可能なすべてのロールアウトスロットを消費しないようにしました。 @ermakov-olegによる寄稿。 ( #9977 )
特定のホットスタンバイパラメーターの変更がレプリカクラスターに正しく適用されなかった問題を修正しました。 ( #9952 )
「Continue」結果が返されたときに後続のプラグインをスキップする可能性があるCNPG-Iリコンサイラーフックのバグを修正しました。 @sharifmshakerによる寄稿。 ( #9978 )
現在ポッドに接続されていないPVCのファイルシステムのサイズを変更しようとしたときに発生したデッドロックシナリオを修正しました。 @jmealoによる寄稿。 ( #9981 )
ConnectionParametersで構成された外部クラスターを受け入れるようにブートストラップリカバリソースのWebhook検証を修正しましたpg_basebackupベースのリカバリーの場合。以前は、 BarmanオブジェクトストアまたはCNPG-iプラグインも構成されていない限り、これらは誤って拒否されました。 ( #10268 )拡張機能とテーブルスペースのボリューム名に接頭辞が付けられ、標準のクラスターボリュームとの名前の衝突を回避します。 ( #9973 )
正常でないクラスターを冬眠させる場合、オペレーターは
WaitingForHealthy条件を報告するようになり、cnpg statusを介して遅延されたハイバーネーション状態を可視化します。 ( #10193 )ターゲットポッドが存在しない場合でも、フェンシングが正しく動作するように修正しました。フェンシングはクラスターレベルのアノテーションで動作し、ポッドの存在に依存しないでください。インスタンス名の検証は、
cnpg fencing onコマンドでのみ実行されます。 ( #10035 )クラスターおよびプーラーサービスリコンサイラーを修正して、パッチ更新戦略を使用するときにすべての仕様フィールドの変更を正しく処理します。リコンサイラーはRFC 7386 JSONマージパッチを使用するようになり、クラウドプロバイダー設定フィールド
loadBalancerClassなど 誤って削除されるのを防ぎます。 ( #10190 、 #10311 )パラレルWALリストアに影響を与える非推奨のツリー内Barman Cloudバックアップ実装の競合状態を修正しました。ここで、プリフェッチされたファイルはダウンロード中に読み取られる可能性があり、「invalid Checkpoint Record」エラーでPostgreSQLのリカバリーが失敗します。 ( #10285 )
タイムライン履歴ファイルの検証を修正して、プラグインベースのWALリストアにも適用されます。以前は、 #9650 で導入された保護はツリー内リストアのみをカバーしており、プラグインがチェックをバイパスして将来のタイムライン履歴ファイルをダウンロードできるため、レプリカでタイムライン不一致エラーが発生していました。 ( #9849 )
cnpgプラグインcnpgプラグインは、ImagePullSecretを
pgbenchジョブポッドテンプレートに正しく伝播するようになりました。 ( #10174 )
バージョン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プラグイン:
バージョン1.27.2
発売日 2025年12月9日
警告
バージョン1.27は2026年3月9日までサポートされます。
変更
機能強化
修正
一時的な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 PUBLICATIONSQL生成を修正しました。以前に生成された構文は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_type、server_tls_sslmode、およびclient_tls_sslmode設定をオーバーライドするサポートを追加しました。デフォルト値は以前の動作と一貫性のあるままですが、必要に応じてカスタマイズできるようになりました。 #8674PostgreSQLのスマートで高速なシャットダウンの前に
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の理由で失敗するようになりました。 #8870pprofプロファイリングのサポートを追加しました。インスタンスは、高度なデバッグのためにClusterリソースにalpha.cnpg.io/enableInstancePprofアノテーションを追加することにより、pprofツールを有効にできるようになりました。 #7876cnpgプラグイン:
修正
パラレルWALリカバリーでカスタムWALセグメントサイズを使用する場合のバックアップ復元の失敗を修正しました。オペレーターは、復元中にWALの終わりファイルマーカーを管理しないため、バックアップが複数のWALセグメントにまたがる場合のエラーを防ぎます。 #8873
以前のマイナーバージョンからのボリュームスナップショットが誤って使用され、レプリカ作成を最適化する可能性があるメジャーアップグレードのバグを修正しました。 #8475
新しいクラスターをブートストラップする前にアプリケーションユーザーのシークレットを待機するように
initdbを修正し、潜在的な競合状態を防止します。 #8663
同期レプリケーションを使用する2つのインスタンスのみを含むクラスターで正常に動作するようにクォーラムベースのフェイルオーバーを修正しました。 #8680
内部構成フィールドを無視するように構成ハッシュ計算を修正し、不必要な調整を防ぎます。 #8868
cnpgiプラグインの接続再試行ロジックを修正しました。調整ループは、接続プールの変更を正しく検出し、指数バックオフを使用して「クローズドプール」エラーを削減します。 #8554バックアッププラグインと連携するように、レプリカのスケーリング中のボリュームスナップショットの使用を修正しました。以前は、この最適化はツリー内バックアップ実装でのみ利用できましたが、バックアッププラグインを使用するクラスターは、新しいレプリカを作成するときにボリュームスナップショットを活用できるようになりました。 #8506
ブートストラップコントローラのinitコンテナの設定を正しく継承するように
Poolerテンプレートを修正しました。 #8394Webhookエラーを修正して、
Poolerの正しいAPIグループpostgresql.cnpg.ioとバックアップWebhookを使用し、一貫したAPIエラーレポートを保証します。 #8485エラーを処理する際のハイバーネーションリコンサイラーの潜在的なnilポインター逆参照を修正しました。 @PascalBourdierによる寄稿。 #8756
呼び出し元が誤って共有データを変更する可能性がある環境キャッシュの問題を修正しました。
LoadEnvファンクションは、キャッシュされた環境スライスのコピーを結果、ミューテーションがキャッシュに影響を与えるのを防ぐようになりました。 #8880
バージョン1.27.0
発売日 2025年8月12日
重要な変更
Liveness Probe のデフォルト動作が更新されました。 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 でのプライマリ接続問題の検出と処理が向上します。
機能強化
クォーラムベースのフェイルオーバーを有効にして、フェイルオーバーイベント中の安全性とデータの耐久性を向上させるオプトイン実験機能を導入しました。この機能はフェイルオーバークォーラムとも呼ばれ、
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
修正
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日に終了します