PostgreSQL 15.12 に関する技術情報

このリリースは 15.11 からの修正リリース(2025年 2月 20日リリース)です。
15.X からのアップデートではダンプ、リストアは不要です。

ただし、15.9 よりも前のバージョンからアップデートする場合には、15.9のリリース情報も参照してください。

PostgreSQL 15.11 から 15.12 への変更点

17.4, 16.8, 15.12, 14.17, 13.20 の各バージョンが同時にリリースされており、本ページでは共通の記載としています。各修正項目が適用されるバージョン系列番号を項目末尾に括弧書きで記載しています。

  1. libpqのクォート付加を行うAPI関数について追加の修正が行われました。 (Andres Freund, Tom Lane) (17)(16)(15)(14)(13)
  2. CVE-2025-1094への対応で、1つ重大な見落としがありました。PQescapeLiteral() およびPQescapeIdentifier() は、文字列の長さを指定するパラメータを適切に考慮せず、入力文字列のヌル終端文字までを常に読み取っていました。この結果、呼び出し側が長さを指定するパラメータを使用して文字列を切り詰めようとしていた場合でも、不要なテキストが出力に含まれる可能性がありました。さらに、入力テキスト文字列がヌル終端文字がない場合、不正なメモリを読み込み、クラッシュを引き起こす可能性がありました。

    合わせて、これらのクオート関数のすべてにおいて、無効なエンコーディングが検出された際の処理が変更されました。これまでは無効なシーケンス全体を置き換えていましたが、今回の変更では、その文字の最初のバイトのみが置き換えられました。これにより、クオート済みの文字列に対して呼び出し側アプリケーションが追加の処理を行った場合のリスクを低減できます。

  3. pg_createsubscriberの小さなメモリリークが修正されました。 (Ranier Vilela) (17)
  4. mesonがbsd_auth.hを利用できるか正しく検知できるよう修正されました。 (Nazir Bilal Yavuz) (17)(16)
  5. 遷移テーブルを利用するパーティションテーブルのトリガーに関するクラッシュが修正されました。 (Kyotaro Horiguchi) (14)(13)
  6. AFTER UPDATEトリガーとAFTER DELETEトリガーの両方が存在する場合、遷移テーブルの必要性が誤って判定されていました。この誤判定により、パーティションをまたぐ更新をした際にクラッシュする問題がありました。