Release notes for CloudNativePG 1.25 ==================================== .. raw:: html CloudNativePGの1.25マイナーリリースのユーザーに表示される変更の履歴。 変更の完全なリストについては、 `commits `_ を参照してください。 GitHubのリリースブランチで。 バージョン1.25.4 ---------------- **発売日** 2025年10月23日 .. Warning:: これは、1.25.xシリーズの最後のリリースです。 1.25はサポートされていないため、新しいマイナーバージョンにアップグレードすることを強くお勧めします。   変更 ^^^^ - ``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`` 設定をオーバーライドするサポートを追加しました。デフォルト値は以前の動作と一貫性のあるままですが、必要に応じてカスタマイズできるようになりました。 `#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 `_ - ``cnpgi`` プラグインの接続再試行ロジックを修正しました。調整ループは、接続プールの変更を正しく検出し、指数バックオフを使用して「クローズドプール」エラーを削減します。 `#8554 `_ - バックアッププラグインと連携するように、レプリカのスケーリング中のボリュームスナップショットの使用を修正しました。以前は、この最適化はツリー内バックアップ実装でのみ利用できましたが、バックアッププラグインを使用するクラスターは、新しいレプリカを作成するときにボリュームスナップショットを活用できるようになりました。 `#8506 `_ - ブートストラップコントローラのinitコンテナの設定を正しく継承するように\ ``Pooler`` テンプレートを修正しました。 `#8394 `_ - Webhookエラーを修正して、\ ``Pooler`` の正しいAPIグループ\ ``postgresql.cnpg.io`` とバックアップWebhookを使用し、一貫したAPIエラーレポートを保証します。 `#8485 `_ - エラーを処理する際のハイバーネーションリコンサイラーの潜在的なnilポインター逆参照を修正しました。 @PascalBourdierによる寄稿。 `#8756 `_ - 呼び出し元が誤って共有データを変更する可能性がある環境キャッシュの問題を修正しました。 ``LoadEnv`` ファンクションは、キャッシュされた環境スライスのコピーを結果、ミューテーションがキャッシュに影響を与えるのを防ぐようになりました。 `#8880 `_ バージョン1.25.3 ---------------- **発売日** 2025年7月25日 * `DJ Walker-Morgan `_ を偲んで .* .. _変更-1: 変更 ^^^^ - ``cnpg`` プラグインビルドマトリックスから\ ``386`` およびARM v5/v6/v7アーキテクチャを削除し、公開されたバイナリ `#7648 `_ の数を削減します。 .. _機能強化-1: 機能強化 ^^^^^^^^ - ``HugePages`` 設定を正しく考慮することにより、\ ``shared_buffers`` の検証を向上させ、正確なメモリ構成チェック `#7864 `_ を保証します。 - PostgreSQLワーカープロセスの\ ``oom_score_adj`` を設定して、メモリ不足が発生した場合の優先順位付けを向上させます `#7891 `_ 。 - ユーザーシークレットに\ ``fqdn-uri`` および\ ``fqdn-jdbc-uri`` フィールドを追加して、アプリケーションの接続文字列管理を簡素化し、DNSベースの接続のベストプラクティス `#7852 `_ に合わせます。 - PostgreSQLシステム識別子を追跡するために、\ ``Cluster`` ステータスに\ ``systemID`` フィールドと関連条件を追加しました。 `#7717 `_ 。 .. _修正-1: 修正 ^^^^ - 接続プーラーにミューテックスを追加して、接続マップへの同時アクセスを保護し、高同時実行環境 `#7804 `_ での安定性が向上しました。 - 指定されたプライマリを正しく検出し、レプリカクラスターの安定性とスイッチオーバー操作を向上させることにより、レプリカクラスターインスタンスの順序を修正しました `#8108 `_ 。 - PVCの\ ``VolumeAttributesClass`` のリコンサイル、ストレージの互換性とライフサイクル管理を強化する `#7885 `_ のサポートを追加しました。 - 内部ウェブサーバールーチンをノンブロッキングにして、負荷時の応答性を向上させました `#8071 `_ 。 - ``ensureReplicationClientLeafCertificate`` エラーがnot foundメッセージ `#8086 `_ に正しい\ ``secretName`` を表示しない問題を修正しました。 - PostgreSQLでサポートされているパラメーターのみを更新することにより、無効な\ ``ALTER SUBSCRIPTION`` ステートメントを防止しました。 ``copy_data`` のようなサポートされていないオプションは、リコンシリエーションの失敗 `7844 `_ を回避するために無視されます。 - 接続プーラーの\ ``bootstrap-controller`` が\ ``resources`` 設定を正しく適用しない問題を修正しました `#7922 `_ 。 - バックアップ中に\ ``targetPod`` が異常になった場合、オンラインバックアップはきれいに失敗するように保証、部分的または誤解を招くバックアップ `#7944 `_ 。 - 障害後にバックアップリソースステータスが適切に設定されるように保証、オブザーバビリティとスクリプトの信頼性が向上します `#7898 `_ 。 バージョン1.25.2 ---------------- **発売日** 2025年5月23日 重要な変更 ^^^^^^^^^^ - **CloudNativePGは公式にCNCFプロジェクトになりました** CloudNativePGはCloud Native Computing FoundationCNCFに受け入れられ、その進化の重要なマイルストーンを示しました。この移行の一環として、プロジェクトは現在 **CloudNativePG、シリーズのLFプロジェクト、LLC** の下で管理され、長期的な持続可能性とコミュニティ主導のイノベーションを保証します。 (#7203) .. _機能強化-2: 機能強化 ^^^^^^^^ - ``KUBERNETES_CLUSTER_DOMAIN`` 構成オプションをオペレーターに追加し、ユーザーがKubernetesクラスター内で生成された完全修飾ドメイン名FQDNのドメインサフィックスを指定できるようにします。設定されていない場合、デフォルトの\ ``cluster.local`` が使用されます。 (#6989) - ``cnpg.io/validation`` アノテーションを実装し、ユーザーがCloudNativePG管理リソースで検証Webhookを無効にできるようにします。無制限の変更が許可されるため、使用には注意してください。 (#7196) - PostgreSQL 18での\ ``pg_stat_wal`` メトリックの収集のサポートを追加しました。 #7005 - Barman Cloud *非推奨* を介してWALファイルをアーカイブする際のLZ4、XZ、およびZ標準圧縮方法のサポートを追加しました。 (#7151) - CloudNativePGインターフェイスCNPG-I - プラグインは、 ``EVALUATE`` 動詞を実装することによりインスタンスのロールアウトをトリガーできるようになり、プラグインによる変更が適切にリコンサイルされるように保証します。 (#7126) - スナップショットの復元中にCNPG-Iプラグインを介してWALリカバリーのサポートを導入しました。 (#7284) セキュリティ ^^^^^^^^^^^^ - オペレーター展開の\ ``imagePullPolicy`` を\ ``Always`` に設定して、イメージが常にレジストリから取得されるようにし、古いまたは安全でない可能性のあるローカルイメージを使用するリスクを削減します。 (#7250) .. _修正-2: 修正 ^^^^ - レプリカ構成で\ ``dbname`` パラメーターを\ ``primary_conninfo`` に追加することにより、PostgreSQL 17のネイティブレプリケーションスロット同期と論理レプリケーションフェイルオーバーを修正しました #7298 - プラグインがWALファイルの検索に失敗した場合、\ ``externalCluster`` ソースで定義されたツリー内\ ``barmanObjectStore`` 構成へのフォールバックを防止するWAL復元操作の回帰を修正しました #7507 - WALアーカイブにフェイルファストメカニズムを導入することにより、バックアップ効率が向上し、予期しないプライマリ降格をより迅速に検出でき、不必要な再試行を回避できます #7483 - 要求された数を超えて1つの追加のワーカープロセスが生成される可能性があるパラレルWALアーカイブのoff-by-oneエラーを修正しました #7389 - PostgreSQL構成を更新するときにオペレーターが2つのスイッチオーバーを実行する原因となった競合状態を解決しました。 (#6991) - ターゲットプーラーおよびクラスターポッドの\ ``matchLabels`` スコープを調整することにより、\ ``PodMonitor`` 構成を修正しました。以前は、 ``matchLabels`` の範囲が広すぎるため、誤ってクラスターからラベルを継承し、意図しないターゲットからデータ収集が発生していました。 (#7063) - ``shared_buffers`` 構成で欠落している単位MB、GBなどのクラスターのWebhook警告を追加しました。これは、将来のリリースではエラーになります。ユーザーは構成を更新して、明示的なユニットたとえば、\ ``512`` の代わりに\ ``512MB`` などを含める必要があります。 (#7160) - ボリュームスナップショットの作成中のタイムアウトエラーを再試行可能なものとして扱い、不要なバックアップの失敗を防ぎました。 (#7010) - OLMでのUI問題を回避するために、\ ``.spec.postgresql.synchronous.dataDurability`` のデフォルトロジックをCRDからWebhookに移動しました。 (#7600) - CloudNativePGインターフェイスCNPG-I - プラグインのTLS証明書が変更された場合の自動リロードを実装しました。 (#7029) - プラグインを使用してバックアップを実行するときに、オペレーターがプラグイン接続を適切に閉じるようにしました。 (#7095、#7096) - ローカルプラグイン操作のタイムアウトを削除し、より長いバックアップまたはWALアーカイブの実行中の障害を回避することにより、CNPG-Iのパフォーマンスと復元力を向上させました#7496。 - ``cnpg`` プラグイン - ``logs pretty`` コマンドのバッファサイズを増加して、より大きなログ出力をより適切に処理します#7281。 - - ``plugin-name`` パラメーターはプラグインベースのバックアップに必要であり、非プラグインバックアップ方法では許可されないように保証 #7506 - ``primaryUpdateMethod`` が\ ``restart`` に設定されている場合、命令的再起動中にプライマリポッドが再作成され、その定義をレプリカと調整します。 (#7122) .. _変更-2: 変更 ^^^^ - 新しいクラスター定義に合わせて、デフォルトのPostgreSQLバージョンを17.5に更新しました。 (#7556) - 新しい\ ``Pooler`` 展開#7399用に、デフォルトのPgBouncerバージョンを **1.24.1** に更新しました。 バージョン1.25.1 ---------------- **発売日** 2025年2月28日 .. _機能強化-3: 機能強化 ^^^^^^^^ - オペレーターのスタートアッププローブを導入して、信頼性を向上させ、初期化中の早期の活性プローブの障害を防止します。 (#7008) - プーラーでの\ ``-r`` サービスを使用するためのサポートを追加しました。 (#6868) - ``pgbench`` プラグインのオプションの\ ``--ttl`` フラグを導入し、ユーザー定義の期間の後に完了したジョブの自動削除を有効にします。 (#6701) - ボリュームスナップショットのAzure CSIドライバーからの既知のエラーメッセージを再試行可能としてマークし、復元力を向上させます。 (#6906) - 新しいクラスター定義に向けて、デフォルトのPostgreSQLバージョンを17.4に更新しました。 (#6960) .. _セキュリティ-1: セキュリティ ^^^^^^^^^^^^ - オペレーターイメージビルドプロセスが強化され、セキュリティと透明性が強化されました。イメージは\ ``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 `` を強化しました。 (#6636) - ``Cluster`` が\ ``ImageCatalog`` を使用するときに\ ``pgbench`` ジョブを実行できるようにしました。 (#6868) 技術的な機能強化 ^^^^^^^^^^^^^^^^ - Kubernetes ``client-gen`` のサポートを追加し、すべてのCloudNativePG CRDのGoクライアントの自動生成を有効にします。 (#6695) バージョン1.25.0 ---------------- **発売日** 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を拡張する強力なアプローチを提供します。このエキサイティングな新機能を形作るためのコミュニティのフィードバックと貢献を歓迎します。 .. _機能強化-4: 機能強化 ^^^^^^^^ - ``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) .. _バグ修正-1: バグ修正 ^^^^^^^^ - レプリカとして再同期する前に、元のプライマリが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日に終了します