CloudNativePG 1.16のリリースノート

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

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

バージョン1.16.1

リリース日: 2022年8月11日

機能強化:

  • PostgreSQLのhuge_pages オプションの設定を有効にする (#456)

  • 昇格の要求から実際の書き込みが可能になるまでの経過時間を出力することにより、フェイルオーバーまたはスイッチオーバー後に、昇格および降格中のログを強化します (#371)

  • クラスターステータスにPostgreSQLクラスターのタイムラインを導入 (#462)

  • ジョブ、ポッド、PVCにinstanceName とclusterName ラベルを追加して、これらのリソースとの相互作用を改善 (#534)

  • PostGISクラスターを作成する方法の説明を追加 (#570)

セキュリティ:

  • securityContext をPooler デプロイメントに明示的に割り当てます (#485)

  • Slowloris DDoSを防ぐために内部Webサーバーに読み取りタイムアウト値を追加 (#437)

修正:

  • リスタート(stopDelay )とスイッチオーバー(switchoverDelay )に正しい遅延を使用してください。以前に誤ってスワップされました。 switchoverDelay が設定されておらず、デフォルト値の40000000秒を使用している場合、無期限にリスタートをブロックする可能性があるため、これは重要な修正です (#531)

  • クエリがエラーを返したときにメトリックコレクターがパニックを引き起こすのを防ぎます (#396)

  • チェックされていないポインタを参照していた、安全でないデバッグメッセージを削除し、ログレベルに関係なくセグメンテーションフォールトを引き起こす (#491)

  • クラスターにアノテーションがない場合のフェンシング時のパニックを防止 (#512)

  • TLS証明書が変更されていない場合、CRDの更新を避ける (#501)

  • CRDに証明書を挿入する際の競合を処理する (#547)

  • データベースのインポート: - データベースのインポートでpg_restore を実行中にpostgres ユーザーを使用する (#411)・connectionParameters でdbname が指定された場合の作業からのインポート (#569)

  • バックアップとリカバリ: - Google Cloudでオブジェクトストアの資格情報を正しく渡すように (#454)

バージョン1.16.0

リリース日: 2022年7月7日(マイナーリリース)

特徴:

  • PostgreSQLのオフラインデータインポートとメジャーアップグレード: bootstrap.initdb.import セクションを導入して、PostgreSQL論理バックアップの概念を使用して、既存のPostgreSQLインスタンス(Kubernetesの外部でも)からオブジェクトをインポートする方法を提供します(pg_dump /pg_restore )。同じ方法を使用して、新しいクラスターでPostgreSQLのメジャーアップグレードを実行できます。この機能では、 microservice (1つのデータベースのみを新しいクラスターにインポート)とmonolith (選択したデータベースとロールを既存のインスタンスからインポート)の2種類のインポートが導入されました。

  • ラベルに基づく同期レプリケーションの非アフィニティルール:同期レプリカが、プライマリが実行されているノードとは異なる特性を持つノードで実行されていることを確認します。

機能強化:

  • 1つ以上のインスタンスがフェンスされたときにフェイルオーバーを無効にする既存の制限を削除することにより、フェンシングを改善します

  • 不必要にDROP EXTENSION IF EXISTS を実行する代わりに、拡張機能がカタログに存在するかどうかを確認することにより、自動拡張機能管理フレームワークを強化します

  • スイッチオーバーとフェイルオーバー中のインスタンスマネージャーのロギングを改善

  • オブジェクトストアから回復するとき、またはpg_basebackup を介してインスタンスを複製するときに、アプリケーションのデータベース、その所有者、および関連するシークレットの名前の再定義を有効にします(これは、これまでにinitdb ブートストラップでのみ可能でした)

  • バックアップとリカバリ: - PostgreSQL 15の将来のサポートにはBarman >= 3.0.0が必要 - inheritFromAzureAD オプションを介してBarman CloudバックアップのAzure AD Workload Identityを有効にしますオブジェクトストア

  • Kubernetes 1.24のサポート

変更点:

  • デフォルトのオペランドイメージをPostgreSQL 14.4に設定

  • バックアップとWALアーカイブの独自の実装に依存する代わりに、Kubernetes APIの条件を使用します

修正:

  • PostgreSQLサーバーのCSVログパイプを開始するWithActiveInstance ファンクション内の初期化順序を修正し、クラスター初期化フェーズで適切なログを確保します-これは、バックアップからのリカバリなどのブートストラップ操作に特に役立ちます(このパッチの前に、このようなログ標準出力チャネルに送信されず、完全に失われました)

  • ホットスタンバイセンシティブパラメーターを減らし、プライマリが既に再起動している場合の不要なスイッチオーバーを回避します

  • ALTER ROLE ステートメントでロール名を適切に引用

  • バックアップとリカバリ: - 要求されたリカバリタイムスタンプを終了ではなくバックアップの開始と比較していた、PITRの最も近いBarmanバックアップを検出するアルゴリズムを修正します。 recoveryTarget セクションにbackupID という新しいフィールドを提供することによる「イミディエイト」ターゲット

  • cnpg プラグイン: - ユーザーが指定したときにプラグインが-n パラメーターに準拠していることを確認します - status コマンドを修正して、出力のばらつきを削除します