Release notes for CloudNativePG 1.23
CloudNativePGの1.23マイナーリリースのユーザーに表示される変更の履歴。
変更の完全なリストについては、 commits を参照してください。
GitHubのリリースブランチで。
バージョン1.23.6
発売日 2024年12月23日
警告
これは、1.23.xシリーズの最後のリリースです。 1.23はサポートされなくなったため、新しいマイナーバージョンにアップグレードすることを強くお勧めします。
機能強化
.spec.probesスタンザを介してスタートアップ、ライブネス、および準備状況プローブのカスタマイズを有効にします。 (#6266)事前定義されたユーザー、具体的には
superuserおよびapp用に生成されたシークレットにcnpg.io/userTypeラベルを追加します。 (#4392)ScheduledBackupsの
spec.scheduleフィールドの検証が向上し、潜在的な構成ミスの警告が生成されます。 (#5396)cnpgプラグイン - APIサーバーとのHTTP要求のUser-Agentヘッダーを尊重します。 (#6153)
バグ修正
レプリカとして再同期する前に、元のプライマリがWALファイルキューをアーカイブにフラッシュすることにより、復旧時間を削減し、フェールオーバー中のデータの一貫性を強化します。 (#6141)
ブートストラップ中に
PGDATAボリュームとともにWALボリュームをクリーンアップします。 (#6265)以前に生成された
PersistentVolumeClaimsがすべて欠落している場合、クラスターフェーズをUnrecoverableに設定するようにオペレーターを更新します。 (#6170).spec.postgresql.synchronous.methodがfirstに設定されている場合のsynchronous_standby_namesGUCの解析を修正しました。 (#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)
バージョン1.23.5
発売日 2024年10月16日
機能強化
PGDATAディレクトリ全体をスキャンしてデータベースサイズを計算することにより、リソース使用率が高くなる原因となったため、ステータスプローブからpg_database_sizeの使用を削除します。kubectl statusプラグインはduに依存して、詳細なサイズ情報の取得を提供するようになりました #5689PostgreSQLで
full_page_writesパラメーターを構成する機能を追加します。この設定は、PostgreSQLの推奨事項#5516に従って、デフォルトのonです。プラグイン
cnpgプラグインにlogs prettyコマンドを追加して、標準入力からログストリームを読み取り、人間が判読可能な形式で出力します。ログエントリをフィルタリングするオプションを使用します。複数の
-vオプションを増加できるようにして、statusコマンドを機能強化します。pgadmin4プラグインコマンドの--imageフラグを使用してカスタムDockerイメージを指定するサポートを追加し、ユーザーがpgAdmin4展開に使用されるDockerイメージを制御できるようにします #5515
修正
プライマリを指定されたプライマリに降格する際の同時ステータス更新の問題を解決し、クラスターロールの変更中のよりスムーズな移行を保証します #5755
2つのインスタンスにスケールダウンするときにレプリカPodDisruptionBudgetPDBが削除されるようにし、レプリカをホストするノードのメンテナンスを簡単にします #5487
インプレースリスタートよりも完全なロールアウトを優先します #5407
接続が失われた場合に二重フェイルオーバーが発生する可能性のある問題を修正します #5788
ポッドとジョブの
TMPDIRおよびPSQL_HISTORY環境変数を正しく設定し、一時ファイルと履歴の管理を改善します #5503プラグイン
logs clusterコマンド#5775の競合状態を解決します。statusプラグイン#5533でpotential同期ステータスを表示します。pgadmin4コマンドによって展開されたポッドに書き込み可能なホームがなかった問題を修正しますディレクトリ#5800。
サポートされているバージョン
PostgreSQL 17 PostgreSQL 17.0がデフォルトイメージです。
バージョン1.23.4
発売日 2024年8月22日
機能強化
cnpgプラグインの更新--control-planeオプションを追加してinstall generateコマンドを強化し、ノードアフィニティと許容範囲を設定することによりコントロールプレーンノードにオペレーターの展開を許可します。destroyコマンドを強化して、に関連するジョブも削除しますターゲットインスタンス#5298。
修正
同期レプリケーション自己修復チェックは、終了したポッドを除外し、アクティブで機能的なポッドにのみ焦点を当てます#5210。
インスタンスマネージャーは、レプリカクラスター#5209のロールの変更に続いて、既存のすべてのオペレーター関連のレプリケーション接続を終了するようになりました。
smartShutdownTimeoutをゼロに設定して、即時高速シャットダウンを有効にし、必要に応じてスマートシャットダウンプロセスをバイパスできるようにします #5347
バージョン1.23.3
発売日 2024年7月29日
機能強化
PostgreSQL 17の
allow_alter_systemパラメーターの透過的なサポートを追加し、.spec.postgresql.enableAlterSystemオプションを介してALTER SYSTEMコマンドを有効または無効にします #4921ClusterおよびPoolerリソースにreconcilePodSpecアノテーションを導入して、ポッド仕様の変更に続いてポッドのリスタートを制御します #5069Poolerメトリックコレクター#5044でPgBouncer 1.23で導入された新しいメトリックをサポートします。
修正
終了されたが、エビクションプロセス中に削除されなかったポッドを検出するメカニズムを強化し、メンテナンスウィンドウ中にクリーンアッププロセスを拡張して、
reusePVCフラグがfalseに設定されている場合にスケジュール不可のポッドを含めます#2056WALファイルに新しいシャットダウンチェックポイントエントリが導入されるのを回避するために、ブートストラップ中に VolumeSnapshotを使用する新しく作成されたレプリカの
pg_rewind実行を無効にします。これにより、レプリカは問題なくプライマリに再接続できます。それ以外の場合、追加のチェックポイントエントリ#5081によって妨げられます。新しいインスタンスの初期化中の障害を正常に処理します。失敗した初期化からの残りのデータは、削除されるか、有効なPostgreSQLデータディレクトリである場合は、バックアップの場所に移動して、データ損失の可能性を回避します。 #5112
初期バックアップ失敗#4982時の再試行ロジックを実装することにより、即時バックアップリコンサイラーの堅牢性を強化します。
postmasterを再度起動する前に、postmasterがシャットダウンするのを待ってください #4938Poolerサービステンプレートがデフォルトサービス#4846をオーバーライドできることを確認します。pg_databaseメトリックモニタリングとアラートプロセスから不変データベースを除外します#4980オペレーターサービスアカウント#4911から不要な権限を削除しました。
ClusterImageCatalogs#5034のクラスターロール権限を修正します。オペレーターイメージがアップグレードされたときに、オペレーターが
Poolerインスタンスのロールアウトを開始するように保証 #5006postmasterにアクセスできた場合でも、PostgreSQLの再起動後にreadness probeが誤って「notready」を表示する原因となる競合状態を修正しました #4920Pooler#4967 によって所有されていないリソースのリコンシリエーションを防止します。DNSサブジェクト代替名SANが更新されたときに、オペレーターが管理する証明書を更新します#3269、#3319。
未指定の場合にのみテンプレートにPVCデフォルト
AccessModesを設定します #4845満足できないバックアップスケジュール#5109を正常に処理します。
cnpgプラグインstatusコマンドの実行中にエラーを適切に処理します。statusコマンドでTLSをサポート#4915
バージョン1.23.2
発売日 2024年6月12日
機能強化
物理バックアップを使用したリカバリー中のスタンバイ依存パラメーターの構成を有効にしました #4564
.spec.livenessProbeTimeoutオプションを介したlivenessプローブタイムアウトの構成を有効にしました #4719kubectl:の
cnpgプラグイン--colorオプションを追加することにより、プラグインでのANSIカラーのサポートを強化しました。これは、always、never、およびautoデフォルトを受け入れます。#4775macOSユーザーのHomebrewでプラグインが利用できるようになりました。 #4602)
修正
フェンスされたインスタンスが不要なループに入り、使用可能なすべてのCPUを消費するのを防ぎました #4625
プライマリのインスタンスマネージャーが、停止操作に続いて障害が発生した後、インスタンスが起動するのを無期限に待機する問題を解決しました #4434
hot_standby_feedbackと管理対象クラスターレベルのレプリケーションスロット間の相互作用により、自動バキュームが正しく動作しない問題を修正しました。この問題は、ディスク領域がデッドタプルによって占有されたままになっている原因でした #4811ポッドコンテナのステータスが欠落しているときに発生したバックアップコントローラのパニックを修正しました #4765
インスタンスマネージャーの不要なシャットダウンを防止 #4670
PostgreSQL構成が変更されない場合の不必要なリロードを防止#4531
コンテンツを書き込む一貫した一意の方法を保証することにより、identマップの不必要なリロードを防止しました #4648
リソースのステータスを更新する代わりにパッチを適用することにより、フェーズ登録中の競合を回避しました #4637
PostgreSQLを再起動し、フェンシングをリフティングするときにタイムアウトを実装しました #4504
アーカイブモードを適切に設定するための昇格後にレプリカクラスターが再起動されるようにした #4399
ボリュームスナップショットバックアップでランダムな障害を引き起こしていた不要なコンカレントキープアライブルーチンを削除しました #4768
pgaudit.log_rowsオプションが有効になっているときに返される追加行フィールドの正しい解析を保証し、監査ログが通常のログストリームに誤ってルーティングされるのを防ぎます #4394kubectl用のcnpgプラグインcnpg statusコマンドを使用したPDBのリストに関する問題を解決しました #4530
変更
デフォルトのオペランドイメージをPostgreSQL 16.3に設定した#4584
名前空間オブジェクトのすべてのRBAC要件を削除しました #4753
バージョン1.23.1
発売日 2024年4月29日
修正
回帰のために失敗していた
PodMonitorリソースのリコンシリエーションを修正します #4286
バージョン1.23.0
発売日 2024年4月24日
注釈
サポートポリシーを更新して、一度に2つではなく1つのサポートされているマイナーリリースに焦点を合理化しました。さらに、以前のマイナーリリースの補助サポート期間を3か月に延長しました。
機能
PostgreSQLイメージカタログ PostgreSQLメジャーバージョンに基づいてオペランドコンテナイメージを管理するための
ClusterImageCatalogおよびImageCatalogCRDを導入しました。これは、Clusterの.spec.imageCatalogRef stanzaを介して促進されます。この機能は、imageNameオプションの代替を提供し、最終的にオペランドコンテナイメージを定義するデフォルトの方法として置き換えます。ユーザー定義のレプリケーションスロット 物理的レプリケーションスロットの同期を強化して、新しく導入されたスタンザ
replicationSlots.synchronizeReplicasを介して、プライマリのユーザー定義のレプリケーションスロットをカバーします。ポッド中断バジェットPDBの構成
.spec.enablePDBフィールドを導入して、プライマリインスタンスでPDBを無効にし、メンテナンス操作中にポッドの適切なエビクションを可能にします。これは、単一インスタンスの展開に特に役立ちます。この機能は、ノードのメンテナンスウィンドウ機能を置き換えることを目的としています。
機能強化
ユーザーは既存のクラスターをレプリカモードに移行し、クロスデータセンターのスイッチオーバー操作を簡素化できる機能を備えています #4261
ユーザーは、タイプ、ラベル、注釈を含む接続プーラーサービスをカスタマイズできるようになりました #3384
ユーザーは
wal_log_hintsPostgreSQLパラメーターを構成できるようになりました #4218 #4218自動的に生成されたシークレットのURIの完全修飾ドメイン名FQDN #4095
クラスターの復元中にクラスターが所有していないインスタンスポッドのクリーンアップ #4141
PDBのステータスを表示するプラグインの
statusコマンドのコマンド出力 #4319recoveryブートストラップでbarman-cloud-wal-restoreを呼び出す際のエラー検出 #4101
修正
スイッチオーバーの前に、選択されたレプリカがストリーミングレプリケーションにあることを確認しました #4288
インスタンスのLSNをソートするときにその解析エラーを正しく処理する #4283
昇格できる正常なスタンバイがない場合は、プライマリポッドを再作成します #4132
リストアジョブが失敗した場合の
PGDATAのクリーンアップ #4151構成の更新時に証明書をリロードします #3705
kubectlのcnpgプラグインdestroy、fencing、およびpromoteプラグインコマンドの引数処理を改善します#4280cnpg statusのバックアップの進行状況のパーセンテージを正しく処理します#413113b_tranにシーケンスのないデータベース
#4346)
変更点
オペレーターイメージが
gcr.io/distroless/static-debian12:nonroot#4201Grafanaダッシュボードは次の場所にあります。 https://github.com/cloudnative-pg/grafana-dashboards #4154