CloudNativePG 1.20のリリースノート
==================================

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

変更の完全なリストについては、 `commits <https://github.com/cloudnative-pg/cloudnative-pg/commits/release-1.20>`_ を参照してください。

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

バージョン1.20.3
----------------

**発売日** 2023年10月11日

重要な変更

-  ``stopDelay`` のデフォルト値を30秒ではなく1800秒に変更します #2848

-  Postgresのスマートシャットダウンが完了するために予約された時間枠を制御するための\ ``smartShutdownTimeout``
   と呼ばれる新しいパラメーターを導入します。
   Postgresを停止するまでの全体的なタイムアウトを計算する一般的な式は\ ``max(stopDelay -  smartShutdownTimeout, 30)``
   #2848

-  ``startDelay`` のデフォルト値を30秒ではなく3600に変更します #2847

-  livenessProbeの初期遅延をより適切なKubernetes起動プローブに置き換えて、Postgresサーバーの起動に対処する
   #2847

-  ``switchoverDelay``
   のデフォルト値を40000000秒ではなく3600秒に変更します #2846

-  ``postgresql`` labelのサポートを停止します -
   1.18の\ ``cnpg.io/cluster`` に置き換えられました#2744

セキュリティ

-  デフォルトの\ ``seccompProfile`` をオペレーター展開に追加します #2926

機能強化

-  ``cnpg.io/coredumpFilter``
   アノテーションを導入して、PostgreSQLクラッシュが発生した場合に生成されるコアダンプの内容を制御します。デフォルトでは、ダンプから共有メモリセグメントを除外するように設定されています
   #2733

-  共有メモリと一時データのエフェメラルボリュームのエフェメラルストレージ制限を構成できます
   #2830

-  Webhookを介したリソース制限と要求を検証する #2663

-  PostgreSQLの\ ``shared_buffers``
   がポッドの割り当てられたメモリリソースとコヒーレントであることを確認します
   #2840

-  資格情報シークレットに\ ``uri`` および\ ``jdbc-uri``
   フィールドを追加して、開発者がアプリケーションをデータベースに接続するときに容易にします
   #2186

-  レプリカの準備が整うのを待機するクラスターの状態をより詳細に制御するための新しいフェーズ\ ``Waiting for the instances to become active``
   を追加します #2612

-  ``podSpec``
   アノテーションを介したポッドのロールアウト条件の検出を向上させます
   #2243

-  プライマリタイムスタンプとアップタイムをkubectlプラグインの\ ``status``
   コマンドに追加します #2953

修正

-  プライマリロールで準備ができているPVCを優先することにより、プライマリインスタンスが常に最初に再作成されるようにします
   #2544

-  リカバリー中に\ ``cnpg.io/skipEmptyWalArchiveCheck``
   アノテーションを尊重して、空のWALアーカイブのチェックをバイパスします
   #2731

-  PostgreSQLサーバーはダウンしているが、ポッドがプライマリでアップしているときに、クラスターがスタックするのを防ぐ
   #2966

-  レプリケーションスロットが有効になっているときに、レプリカクラスターの指定されたプライマリを通常のHAレプリカとして扱わないようにします
   #2960

-  セレクターが変更されるたび、またはラベル/注釈を変更する必要がある場合にサービスを調整します
   #2918

-  リカバリブートストラップ中に所有者とデータベースの両方をデフォルト\ ``app``
   に設定する #2957

-  キャッシュされたクラスターでの書き込み-読み取りの同時実行を回避する
   #2884

-  空の項目を削除し、一意に作成し、生成されたロールの\ ``ResourceName``
   セクションでソート #2875

-  エラーが発生した場合に、\ ``ContinuousArchiving``
   条件が適切に’failed’に設定されていることを確認します #2625

-  バックアップが完了または失敗した場合にのみ停止することにより、中断に対する\ ``Backup``
   リソース調整サイクルの復元力を高めます #2591

-  PodMonitor ``labels`` および\ ``annotations`` を調整する #2583

-  ``Role`` オブジェクトのRBAC ``resourceNames``
   の欠落によるバックアップ失敗を修正しました #2956

-  可観測性

-  TCPポートラベルをデフォルトの\ ``pg_stat_replication``
   メトリック#2961に追加します - Prometheusの\ ``pg_wal_stat``
   デフォルトメトリックを修正します#2569 -
   Prometheusの\ ``pg_replication``
   デフォルトメトリック#2744および#2750を改善します
   -提供されたGrafanaで\ ``alertName``
   の代わりに\ ``alertInstanceLabelFilter`` を使用しますダッシュボード -
   メトリック収集で\ ``standard_conforming_strings`` を適用する #2888

変更点

-  デフォルトのオペランドイメージをPostgreSQL 16.0に設定します

-  フェンシングは、スマートシャットダウンの代わりにPostgreSQLの高速シャットダウンを使用してインスタンスを停止するようになりました
   #3051

-  Webhookの名前をkb.ioからcnpg.ioグループに変更します #2851

-  ``kubectl`` プラグインの\ ``cnpg snapshot``
   コマンドを\ ``cnpg backup -m volumeSnapshot`` に置き換えます

-  ``cnpg hibernate``
   プラグインコマンドでPVCの\ ``ClusterManifestAnnotationName``
   および\ ``PgControldataAnnotationName``
   アノテーションを使用させましょう #2657

-  ``cnpg.io/instanceRole`` ラベルを追加しますが、既存の\ ``role``
   ラベルを非推奨にします #2915

技術的な強化

-  APIリファレンスドキュメントを自動的にビルドするように\ ``k8s-api-docgen``
   を\ ``gen-crd-api-reference-docs`` に置き換えます #2606

バージョン1.20.2
----------------

**発売日** 2023年7月27日

機能強化

-  kubectlプラグインの新しい\ ``logs``
   コマンド、クラスター内のすべてのポッドのログを取得または追跡する
   #2375

-  ポッドでpriorityClassNameを指定するサポートを追加し、Kubernetesのスケジュール決定を支援します
   #2043

-  CloudNativePGクラスターによるノードの使用状況をモニタするためのメトリックとステータスフィールドを追加します
   #2257

-  ドキュメントのさまざまな機能強化 -
   hugepagesに関連するトラブルシューティング手順を追加します#1390 -
   FAQページを拡張します#2344

技術的な強化

-  復元プロセスの先頭にチェックを追加して、続行できることを確認します。できない場合は、改善されたエラー診断を提供します
   #2419

-  管理対象ロールでの無期限パスワードの処理を改善します#2334

修正

-  リカバリターゲット設定のロジックがPostgresのロジックと一致することを確認します
   #2460

-  サービスアカウントの作成中にのみownerMetadataを設定することにより、クラスターが所有していないサービスアカウントの引き継ぎを防止します
   #2462

-  initdbおよびリストアのためのPGDATAディレクトリの正しいアクセス許可を確認します
   #2384

-  構成のリロード中にインスタンスマネージャーのクラッシュの可能性を防止
   #2393

-  失敗したバックアップの後に新しいバックアップが成功した場合に、
   LastFailedArchiveTimeアラートがトリガーされないようにしました #1751

-  サービスが非インスタンスポッドをターゲットとしないようにする #2336

セキュリティ

-  すべてのプロジェクトの依存関係を最新バージョンに更新しました

バージョン1.20.1
----------------

**発売日** 2023年6月12日

機能強化

-  ``snapshot`` コマンドを\ ``cnpg`` プラグインに追加して、Kubernetes
   ``VolumeSnapshot``
   標準リソースを使用してスタンバイからクラスターの一貫したコールドバックアップを作成します
   #1960

-  ``.spec.bootstrap.recovery.volumeSnapshot`` スタンザを介したCSI
   VolumeSnapshotリソースのセットからのリカバリの最初の実装#1960

-  ``pg_failover_slots`` をマネージド拡張機能に追加します #2057

-  ドキュメントとクイックスタートガイドの指示を更新したGrafanaダッシュボードを改善しました
   #1916

-  ``import`` スタンザに\ ``schemaOnly``
   オプションを導入して、1つ以上の既存のデータベースから新しいPostgresクラスターをブートストラップするときにデータのエクスポートおよびインポートを回避します
   #2234

-  インスタンスポッドのスケジュールを管理するためのTopologySpreadConstraintsのサポートを追加します
   #2202

-  PgBouncerの\ ``Pooler`` に\ ``PodMonitor`` サポートを追加します#2034

-  デフォルトのKubernetesスケジューラーをオーバーライドするオプションを追加します#2013

-  ``Pooler`` リソースのデプロイメント戦略の構成を許可します #1983

-  デフォルトのPostgreSQLバージョンを15.3に更新します#2022

-  デフォルトでPgBouncer 1.19を使用する#2018

技術的な強化

-  更新されたk8s種類のテスト済みバージョン#2054

-  宣言的ロールはパスワードが設定されていない場合を無視し、以前に存在したロールの管理を容易にする必要があります#2029

-  別のトランザクションを使用して、ロールの資格情報を調整します。このパッチの前は、オペレーターは、いずれかが失敗した場合、すべてのロールの同期を元に戻していました#2004

-  クラスターの復元中にフェンシングが削除されることを確認します #1987

-  ポッド削除時のロギングを改善します #2136

修正

-  K3でのセットアップを妨げる可能性があるk3sエンジンのバインドされていない変数を修正しました
   #2157

-  メトリックで正しいPGバージョンをレポートする #2126

-  ドキュメントで正しいwalStorageキーを使用する #2140

-  オペレーターがインスタンスに接続できない場合に調整を停止し、このような場合に明確な診断を提供します。これは、ネットワークの問題がCloudNativePGの通常のオペレーションを妨げるケースを明確にするのに役立ちます#2145、#2233、および#2242

バージョン1.20.0
----------------

**発売日** 2023年4月27日

..  Important "Important changes from previous versions"::
   CloudNativePG 1.20では、以前のバージョンのオペレーターと比較して、新しく作成された`Cluster` リソースのいくつかの機能のデフォルト動作にいくつかの変更を導入しました。これらの変更の目的は、構成よりも規約を通じて、すぐに使えるPostgresクラスターの復元力を向上させることです。 1つ以上のレプリカを持つクラスターの場合 - `target` が明示的に`primary` に設定されていない限り、スタンバイからのバックアップがデフォルトで有効になるようになりました - プライマリの再起動が、教師なしローリング更新手順を完了するデフォルトの方法になりました明示的な場合を除き、 `primaryUpdateMethod` はデフォルトで`restart` になります`switchover` に設定します）詳細については、 :ref:`インストールとアップグレード <インストールとアップグレード>` を参照してください。

特徴

-  **宣言的ロール管理** ``Cluster`` 仕様に\ ``managed.roles``
   スタンザを導入して、\ ``CREATE ROLE`` や\ ``ALTER ROLE``
   などのPostgreSQLの関連DDLコマンドに抽象化を提供することにより、データベースロールの完全なライフサイクル管理を提供します#1524、#1793および#1815)

-  **PostgreSQLクラスターの宣言的ハイバーネーション**
   ``cnpg.io/hibernation``
   と呼ばれる新しいアノテーションを導入して、すべてのポッドを削除し、PVCのみを保持することによりPostgreSQLクラスターを宣言的に冬眠させます。この機能は、インバースプロシージャも実装します
   #1657

機能強化

-  ``kubectl`` の\ ``cnpg`` プラグインの\ ``report``
   コマンドの\ ``--logs``
   オプションを改善して、可能な場合は以前のログも含めます #1811

-  ``-any`` サービスがデフォルトで無効になりました #1755

セキュリティ

-  ローカルファイルを介したオーバーライドを介して\ ``SeccompProfile``
   のカスタマイズを有効にします #1827

修正

-  サーバーが初めて起動される前に、\ ``initdb``
   ブートストラップフェーズ中にユーザーが提供したPostgreSQL構成を適用します
   #1858
