他のバージョンの文書 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

E.1. リリース18.4 #

リリース日: 2026-05-14

このリリースは18.3に対し、様々な不具合を修正したものです。 18メジャーリリースにおける新機能については、E.5を参照してください。

E.1.1. バージョン18.4への移行 #

18.Xからの移行ではダンプ/リストアは不要です。

しかしながら、18.2より前のバージョンからアップグレードする場合は、E.3を参照してください。

E.1.2. 変更点 #

  • スタートアップパケット処理中の無限の再帰が防止されました。 (Michael Paquier) §

    悪意のあるクライアントは、SSLおよびGSS暗号要求を交互に拒否し続けることによって、接続されているバックエンドをクラッシュさせる可能性がありました。

    PostgreSQLプロジェクトは、本問題を報告してくれたCalif.io(ClaudeおよびAnthropic Researchとの協力)に感謝します。 (CVE-2026-6479)

  • メモリ割り当て計算における様々な整数オーバーフローが修正されました。 (Tom Lane, Nathan Bossart, Heikki Linnakangas) § § § § § § § § §

    メモリ割り当て量を計算する際、整数オーバーフローの可能性に対する配慮が不十分な箇所が複数ありました。 オーバーフローが発生すると、割り当てられるバッファが小さすぎるため、呼び出し元はそのバッファの末尾を超えて書き込みを行なうことになります。 これは少なくともサーバのクラッシュを引き起こし、場合によっては任意のコード実行に悪用される可能性がありました。 すべてのケースではありませんが、多くの場合、この脆弱性は32ビットビルドでのみ発生します。

    PostgreSQLプロジェクトは、本問題を報告してくれたXint Code、Bruce Dang、Sven Klemm、Pavel Kohoutに感謝します。 (CVE-2026-6473)

  • pg_createsubscriberにおいて、サブスクリプション名が正しくクォートされるようになりました。 (Nathan Bossart) §

    指定されたサブスクリプション名がクォートされずにSQLコマンドに挿入されていたため、サブスクリプション名が信頼できないソースから取得された場合(可能性は低いですが)SQLインジェクション攻撃が可能になる恐れがありました。

    PostgreSQLプロジェクトは、本問題を報告してくれたYu Kunpengに感謝します。 (CVE-2026-6476)

  • 論理レプリケーション起点チェックで、オブジェクトの名前を正しく引用符で囲うようになりました。 (Pavel Kohout) §

    ALTER SUBSCRIPTION ... REFRESH PUBLICATIONでは、スキーマ名とリレーション名を引用符で囲まずにSQLコマンドに挿入していたため、パブリッシャー上で任意のSQLが実行されてしまう可能性がありました。

    PostgreSQLプロジェクトは、本問題を報告してくれたPavel Kohoutに感謝します。 (CVE-2026-6638)

  • ts_headline()で、長すぎるオプションを拒否するようになりました。 (Michael Paquier) §

    StartSelStopSelFragmentDelimiterの文字列長は32キロバイトを超えてはなりませんが、これまでチェックされていませんでした。 長すぎる値を指定すると、通常はサーバがクラッシュします。

    PostgreSQLプロジェクトは、本問題を報告してくれたXint Codeに感謝します。 (CVE-2026-6473)

  • MCV(最頻値)の統計情報のリストア時に不正な入力を検出するようになりました。 (Michael Paquier) §

    統計情報のリストア関数は、最頻値の統計情報の検証に十分な注意を払っておらず、後でプランナをクラッシュする可能性のある値を受け入れていました。

    PostgreSQLプロジェクトは、本問題を報告してくれたJeroen Guiに感謝します。 (CVE-2026-6575)

  • timeofday()およびpg_strftime()において、悪意のあるタイムゾーン名への対策が講じられました。 (Tom Lane) § §

    細工されたタイムゾーン設定によって、%シーケンスがsnprintf()に渡され、クラッシュやサーバメモリの漏洩を引き起こす可能性がありました。 同様の結果をもたらす別の方法として、pg_strftime()で使用される容量制限付きの出力バッファをオーバーフローさせる方法がありました。

    PostgreSQLプロジェクトは、本問題を報告してくれたXint Codeに感謝します。 (CVE-2026-6474)

  • マルチレンジ型を作成する際に、ユーザがそのマルチレンジ型に指定されたスキーマに対してCREATE権限を持っていることを確認するようになりました。 (Jelte Fennema-Nio) §

    マルチレンジ型は、その親となるレンジ型とは異なるスキーマに入れることも可能ですが、その際に必要な権限チェックを怠っていました。

    PostgreSQLプロジェクトは、本問題を報告してくれたJelte Fennema-Nioに感謝します。 (CVE-2026-6472)

  • 認証コードでタイミングセーフな文字列比較を使用するようになりました。 (Michael Paquier) §

    パスワードやハッシュなどの検証には、 memcpy()strcmp()の代わりにtimingsafe_bcmp()を使用するようになりました。 これらの関数のデータ依存性が、これらの箇所で悪用される可能性があるかどうかは不明ですが、安全を期してこれらが置き換えられました。

    PostgreSQLプロジェクトは、本問題を報告してくれたJoe Conwayに感謝します。 (CVE-2026-6478)

  • PQfn()を安全ではないとマークし、libpq内での使用を避けました。 (Nathan Bossart) §

    非整数型の結果の場合、PQfn()には出力バッファのサイズが渡されないので、サーバから返されたデータがバッファに収まるかどうかをチェックすることができません。 そのため、悪意のあるサーバがクライアントメモリを上書きする可能性がありました。 これはAPIの変更なしには修正できないため、この関数を非推奨としてマークします。 libpq内部では、不足しているチェックを適用できる異なるバージョンを使用します。

    PostgreSQLプロジェクトは、本問題を報告してくれたYu KunpengとMartin Heistermannに感謝します。 (CVE-2026-6477)

  • pg_basebackupおよびpg_rewindにおけるパス横断が防止されました。 (Michael Paquier) §

    これらのアプリケーションは、入力から読み取った出力ファイルのパスを検証できなかったため、悪意のあるソースによってこれらのアプリケーションが書き込み可能なファイルを上書きする可能性がありました。 絶対パスや親ディレクトリ参照を含むパスを拒否することで、データの書き込み場所を制限します。

    PostgreSQLプロジェクトは、本問題を報告してくれたTencent Xuanwu Lab XlabAIチームとValery Gubanovに感謝します。 (CVE-2026-6475)

  • contrib/intarrayquery_int型およびcontrib/ltreeltxtquery型におけるフィールドのオーバーフローが防止されました。 (Tom Lane) § §

    これらのクエリ構造体の解析において、16ビットフィールドのオーバーフローがチェックされていなかったため、無効なクエリツリーが構築される可能性がありました。 これにより、クエリの実行時にサーバがクラッシュする可能性がありました。

    PostgreSQLプロジェクトは、本問題を報告してくれたXint Codeに感謝します。 (CVE-2026-6473)

  • contrib/ltreelquery型の過度に長い値が防止されました。 (Michael Paquier) §

    64Kを超える項目を持つ値は内部オーバーフローを引き起こし、スタック破壊や誤った結果を引き起こす可能性がありました。

    PostgreSQLプロジェクトは、本問題を報告してくれたVergissmeinnicht、A1ex、Jihe Wangに感謝します。 (CVE-2026-6473)

  • contrib/spiにおけるSQLインジェクションとバッファオーバーランが防止されました。 (Nathan Bossart) §

    check_foreign_key()はキー値の引用符付けに十分な注意を払っておらず、クエリの構築に固定長バッファを使用していました。 このモジュールはあくまでサンプルコードとして作成されたものですが、このような危険なエラーは含まれるべきではありません。

    PostgreSQLプロジェクトは、本問題を報告してくれたNikolay Samokhvalovに感謝します。 (CVE-2026-6637)

  • 照合可能な型における等価条件が一意性を意味すると仮定する前に、非決定論的照合順序を確認するようになりました。 (Richard Guo) § § § § §

    多くのプランナ最適化では、例えばxに一意インデックスが存在する場合、WHERE x = 'abc'を満たすテーブル行は最大で1つであると仮定しています。 しかし、インデックスとWHERE句に異なる照合順序が設定されている場合には、この結論は一般的に安全ではありません。 両方の照合順序が決定論的である場合は安全です。なぜなら、その性質上、2つの文字列の等価性はビット単位の等価性を意味するからです。 しかし、非決定論的な照合順序はそのように動作しないため、WHERE句またはインデックスのいずれかに非決定論的照合順序が設定されている場合、一意一致を前提とした最適化は誤ったクエリ結果をもたらす可能性がありました。

  • 結合の削除時にRestrictInfo構造体内のリレーション参照の削除が不完全になる問題が修正されました。 (Tom Lane) §

    この見落としにより、FULL JOIN is only supported with merge-joinable or hash-joinable join conditionsといった予期しないエラーが発生するなどプランナの失敗を引き起こすことが確認されています。 また、他の場合には、有効なプランを考慮できない原因となっていた可能性もありました。

  • プランナによるパーティションキー列とサブクエリ出力の照合が改善されました。 (Richard Guo) §

    オペランドをパーティションキーと比較する前に、オペランドから何もしない(no-op)PlaceHolderVarsを削除します。 この変更により、以前はパーティションのスキャンが不要であると認識できなかった場合でも、パーティション除去が成功するようになりました。

  • 例えばON t1.boolcolのようなブール型列のみで構成される結合句を処理できるよう、自己結合の削除処理が修正されました。 (Andrei Lepikhov, Tender Wang, Alexander Korotkov) §

    以前は、このような場合はno relation entry for relid Nエラーが発生していました。

  • 仮想生成列を持つテーブルでUPDATE/DELETE ... WHERE CURRENT OFが正常に動作するよう修正されました。 (Satyanarayana Narlapuram, Dean Rasheed) §

  • INSERT ... ON CONFLICT内でのEXCLUDED列参照における仮想生成列の展開が修正されました。 (Satyanarayana Narlapuram, Dean Rasheed) §

  • ルールアクションおよびルール条件におけるNEW生成列の誤った処理が修正されました。 (Richard Guo, Dean Rasheed) §

    以前は、このような列参照は、INSERTの場合にNULLとなり、UPDATEの場合はOLDの値と同じになっていました。

  • indexes on virtual generated columns are not supportedという誤ったエラーが修正されました。 (Robert Haas) §

    式インデックスの作成時に、このエラーが誤って報告されることがありました。

  • generated columns are not supported in COPY FROM WHERE conditionsという誤ったエラーが修正されました。 (Tom Lane) §

    COPY FROM WHERE条件でシステム列を使用すると、このエラーが誤って報告されることがありました。

  • MERGEがリピータブルリードモードまたはシリアライザブルモードで同時に更新されるタプルを検出した場合、直列化の失敗を正しく報告するようになりました。 (Tender Wang) §

    以前は、このような場合は、より低い分離レベルの場合と同じ動作をしていました。

  • ソーステーブルから列が削除された場合におけるCREATE TABLE ... LIKE ... INCLUDING STATISTICSの動作が修正されました。 (Julien Tachoires) §

    このような場合、拡張統計オブジェクトが誤ってコピーされたり、コマンドが誤ったエラーを返す可能性がありました。

  • ALTER INDEX ... ATTACH PARTITIONで、必要に応じて親インデックスを有効とマークできるようになりました。 (Sami Imseih) §

    すべてのリーフインデックスが有効であるにもかかわらず、パーティションインデックスが無効とマークされたままになる特殊なケースが存在していました。 この変更により、ユーザは手動でカタログを更新せずに、このような状況を修正できる仕組みが提供されました。

  • ALTER TABLE ... SET NOT NULLが、カタログの変更を完了した後にのみオブジェクトアクセスフック関数を呼び出すよう修正されました。 (Artur Zakirov) §

  • ALTER FOREIGN DATA WRAPPERが、ラッパーオブジェクトのハンドラ関数への依存を削除しないよう修正されました。 (Jeff Davis) §

  • 外部キートリガの遅延実行が失われる問題が修正されました。 (Yasuo Honda) §

    以前は、DEFERRABLE INITIALLY DEFERREDとして定義された外部キーが、NOT ENFORCEDステータスに設定された後、再びENFORCEDに戻されるとNOT DEFERRABLEとして動作していました。

    この問題が発生している外部キーがある場合は、この更新をインストールした後に再度NOT ENFORCEDに設定してからENFORCEDに戻すことで修復できます。

  • ドメインを許可するようにWITHOUT OVERLAPSが修正されました。 (Jian He) §

    UNIQUE/PRIMARY KEY ... WITHOUT OVERLAPSでは、重複しない列がレンジまたはマルチレンジである必要がありますが、そのような型に対してもドメインを許可する必要がありました。

  • マルチ範囲型を経由して複合型が自分自身をメンバとして持つことが禁止されました。 (Heikki Linnakangas) §

    中間型がドメイン、配列、複合型、範囲型の場合はすでにこのようなケースを禁止していましたが、マルチ範囲型については見落とされていました。

  • Datumのイメージ比較が符号拡張の差異に影響されないように修正されました。 (David Rowley) §

    これにより、以前はcould not find memoization table entryというエラーや誤ったクエリ結果につながっていたいくつかの状況が修正されました。

  • ハッシュ化されたIN/NOT INにおける非厳密な等価演算子の誤ったロジックが修正されました。 (Chengpeng Yan) §

    以前のコードでは、クラッシュしたり、誤った結果が返される可能性がありました。 すべての組み込みデータ型には厳密な等価演算子があるため、この問題は拡張データ型でのみ発生する可能性がありました。

  • to_char()において、長すぎるロケール固有の数値記号を切り捨てるようになりました。 (Tom Lane) §

    ロケールで指定された通貨記号、千の位区切り記号、小数点記号、符号記号が8バイトを超える場合、バッファオーバーランが発生する可能性がありました。 現実の世界にはそのようなロケールは存在せず、権限のない攻撃者がPostgresサーバに悪意のあるロケール定義をインストールすることは現実的ではありませんが、安全のために、長すぎる記号をチェックし、必要に応じて切り捨てます。

  • Ispell辞書用の接辞ファイルを解析する際のバッファオーバーランが防止されました。 (Tom Lane) § §

    破損した接辞ファイルや悪意のある接辞ファイルは、サーバをクラッシュさせる可能性がありました。 テキスト検索の設定ファイルは信頼できるものと見なされるため、これはセキュリティ上の問題とは考えられませんが、修正する価値があると思われます。

  • ウィンドウ集約のフレーム開始位置および終了位置の計算において、整数オーバーフローが発生しないよう対策されました。 (Richard Guo) §

    ユーザ指定のオフセット値が非常に大きい場合(INT64_MAXに近い値)では、エラーが発生したり、クエリの結果が不正確になる可能性がありました。

  • 配列のNULLビットマップを正しく結合するようarray_agg_array_combine()が修正されました。 (Dmytro Astapov) §

    この不具合により、並列化されたarray_agg(anyarray)計算で、誤った出力が発生する場合がありました。

  • sync_file_range()がエラーコードEINTRを返した場合に再試行するようになりました。 (DaeMyung Kang) §

  • 共有カタログにおけるpg_stat_reset_single_table_counters()の誤った動作が修正されました。 (Chao Li) §

    このような場合、現在のデータベースのstat_reset_timestampが意図せずリセットされるという副作用が発生していました。

  • パラレル適用ワーカーがアイドル状態の時にアクティビティ統計が更新されるようになりました。 (Zhijie Hou) §

    以前は、特にワークロードが軽い場合、最近完了したトランザクションの統計情報が長時間で報告されない可能性がありました。

  • 集合演算で配列長を推定する際に発生するno relation entry for relid 0エラーが修正されました。 (Tender Wang) §

  • pglz_decompress()が破損した入力を受け取った際に発生するバッファの超過読取りが修正されました。 (Andrew Dunstan) §

    入力の末尾を数バイト超えて読み取られる可能性があり、非常に不運な場合ではクラッシュを引き起こす可能性がありました。

  • インクリメンタルJSONパーサにおいて入力バッファ境界をまたぐ数値トークンの処理が修正されました。 (Andrew Dunstan) §

    誤った形式の数値を受け入れる可能性があり、その結果後でエラーが発生する可能性がありました。

  • 増分バックアップのリストア時にリレーションの可視性マップが肥大化することが防止されました。 (Robert Haas) §

    リストア時に、予想されるファイル長の計算が誤っているため、可視性マップに多数のゼロブロックが追加される可能性がありました。 これによりデータが破損することはありませんが、相当量のディスクスペースが無駄になる可能性がありました。

  • テキスト列のカタログキャッシュ検索では、データベースのデフォルト照合順序ではなく、C照合順序を使用するようになりました。 (Jeff Davis) §

    これにより、物理レプリケーションの起動時など、データベースが特定されずデフォルト照合順序も決定できないような特殊なケースでの失敗が回避されます。

  • 応答不能になったスロット同期ワーカープロセスがスタンバイサーバの昇格を妨げないようになりました。 (Nisha Moond, Ajin Cherian) § § §

    プライマリからの応答を無駄に待ち続けていたワーカープロセスが、昇格を不必要に長時間遅延させていました。

  • アイドル状態のスロット同期ワーカープロセスによる過剰なログ出力が修正されました。 (Zhijie Hou) §

  • エラー発生後もtuplestoreのデータ構造が内部的に一貫性を保つようになりました。 (Tom Lane) §

    以前のコードではこの点に関して不注意でした。ほとんどの場合は問題ないものの、WITH HOLDカーソルをサポートするtuplestoreでは問題が生じます。 バージョン15以前では、この問題により容易に再現可能なクラッシュが発生していました。それ以降のバージョンでは脆弱性は確認されていませんが、すべてのバージョンで一貫性を維持するのが最善と思われます。

  • エントリに所有プロセスが無い場合、pg_aiosシステムビューのpid列に0ではなくNULLが表示されるようになりました。 (ChangAo Chen) §

  • pg_stat_replicationにおけるlag列での早すぎるNULL報告が修正されました。 (Shinya Kato) §

    lag列が、レプリケーション処理が行われている最中でも、頻繁にNULLとして読み取られていました。

  • 並列Btreeインデックススキャンに使用される共有メモリの割り当て不足が修正されました。 (Siddharth Kothari) §

    特殊なケースでは、サーバがクラッシュする可能性がありました。

  • WALログ非対応のGiSTインデックスを使用する際、稀に発生するフラッシュエラーが回避されました。 (Tomas Vondra) §

    ログ非対応のGiSTインデックスでは、挿入ポイントを表す偽のLSNの選択ミスにより、xlog flush requestn/nnnnis not satisfiedエラーが発生する場合がありました。

  • 奇数サイズのセグメントにおけるDSAページマップの必要サイズの過小評価が修正されました。 (Paul Bunn) §

    この計算ミスにより、境界外アクセスが発生し、サーバがクラッシュしていました。

  • 共有メモリ内の最も古いmultixact配列のインデックス付けが修正されました。 (Yura Sokolov) § §

    この不具合により、PREPARED状態であるがまだコミットされていないトランザクションの行ロックが他のセッションから見えなくなったり、そのようなトランザクションの結果の可視性に他の問題が発生する可能性がありました。 また、max_connectionsの設定値が非常に小さい場合、メモリ破壊も発生する可能性がありました。

  • EXPLAIN拡張オプションが多数インストールされている場合に発生する配列オーバーランが修正されました。 (Joel Jacobson) §

  • 拡張データ型の式に対する拡張統計処理時に発生する可能性のあるサーバクラッシュが修正されました。 (Michael Paquier) §

    データ型のtypanalyze関数が有用な統計を計算しない場合、NULLポインタの参照が発生する可能性がありました。 コア内のtypanalyze関数はそのように動作をするものはありませんが、拡張では可能性がありました。

  • GROUP BYで使用される結合エイリアス変数が正しく表示されるようになりました。 (Tom Lane) §

    SELECT ... t1 LEFT JOIN t2 USING (x) GROUP BY xのような問い合わせを含むビューでは、GROUP BY句が逆解析によって誤って表示され、ダンプ/リストアの失敗につながる可能性がありました。 この問題は、t1.xt2.xのデータ型が同一ではなく、t1.x側で暗黙の型変換が必要だった場合にのみ発生しました。

  • ICUベースの文字列処理における軽微なメモリリークが修正されました。 (Jeff Davis) §

  • startupプロセスが失敗した場合、postmasterを終了する前に他の子プロセスを適切にシャットダウンするようになりました。 (Ayush Tiwari) §

    この状況への対処法は、startupプロセスの実行中は他のpostmasterの子プロセスが存在しないという、現在では廃止された前提に基づいていたため、postmasterの即時終了は許容されていました。 孤児となった子プロセスは最終的にpostmasterの終了を検知して自力で終了しますが、よりクリーンなシャットダウン手続きが望まれます。

  • チェックポイントのWALリプレイ処理とマルチトランザクションID作成との間の競合状態が修正されました。 (Heikki Linnakangas) §

    古いマイナーバージョンのプライマリサーバからのWALを追従するスタンバイサーバが、could not access status of transactionというエラーを表示し、クラッシュと再起動を繰り返すループに陥る可能性がありました。

  • walsenderプロセスのシャットダウン時に発生する無期限の待機が防止されました。 (Anthonin Bonnefoy) § §

    論理レプリケーションデータを公開しているクラスタのシャットダウン時、walsenderは保留中のすべてのWALが書き出されるまで待機します。 しかし、その処理を正しく要求しなかったため、場合によっては無期限の待機となる可能性がありました。

  • テーブルの空き領域マップへの変更が、リカバリ中に確実に永続化されるようになりました。 (Alexey Makhmutov) §

    以前は、WALリプレイは変更が必要な操作をリプレイする際に空き領域マップを更新していましたが、チェックサムが有効になっている場合、マップのページバッファがダーティとしてマークされなかったため、変更内容が書き出されない可能性がありました。 スタンバイサーバでは、時間の経過とともに、マップがテーブルの実際の内容と大きく乖離してしまう可能性がありました。 マップはヒントとしてのみ使用されますが、この状態はスタンバイサーバがアクティブに昇格した後、マップの大部分が更新によって修復されるまでの間、パフォーマンスの著しい低下を引き起こす可能性がありました。

  • 接続が確立されていない状態で呼び出された際に、一部のecpg関数がクラッシュする問題が修正されました。 (Shruthi Gowda) §

  • 処理できないアーカイブに対するtarファイル解析ロジックが強化されました。 (Tom Lane) §

    pg_basebackuppg_verifybackupで使用されているtarファイルの読み取りコードは、入力がtarファイルであることをまったく検証できず、ましてや、処理可能な有効なtarファイルのサブセットに該当するかどうかも検証できていませんでした。 これは、入力のファイルがPostgreSQLコードによって生成された場合の通常のシナリオでは問題になりませんが、入力が他のtarプログラムによって生成された場合には問題になる可能性がありました。

  • バックアップの解凍およびtarファイル解析コードのさまざまなバグが修正されました。 (Andrew Dunstan, Tom Lane, Chao Li) § § §

    pg_basebackupおよびpg_verifybackupで使用されている解凍およびtarファイル読み取りコードは、tarファイルのパディングデータ処理に不備があり、特殊なケースではLZ4圧縮データが破損する可能性があり、一部の異常なエラー状態チェックの失敗、圧縮/解凍エラー後に終了できず(連鎖的なエラー報告の原因)、さらにメモリリークも発生していました。

  • pg_dumpNOT NULL制約のNO INHERITプロパティを保持するようになりました。 (Jian He) §

    一部のケースでNO INHERIT句が出力されないことがありました。

  • pg_dumpallで、権限付与者のOIDが存在しないロールのGRANTがスキップされなくなりました。 (Tom Lane) §

    代わりに、v16以前と同様に、GRANTED BY句のないGRANTを出力することで、このケースを処理します。 v16以前のサーバでは権限付与者のロール削除が阻止されなかったため、これにより予測可能なケースでの権限付与の喪失が回避されます。 ソースサーバがv16以降の場合に限り、権限付与者の欠落に関する警告は引き続き出力されます。

  • pg_upgradeで、古いソースサーバに接続する際に、正しいプロトコルバージョンを使用するように修正されました。 (Jacob Champion) §

    これは、2018年以前のサーバからアップグレードしようとする際に問題となる可能性がありました。

  • contrib/basic_archiveにおいて、起動時にアーカイブディレクトリが存在しなくても許容されるようになりました。 (Nathan Bossart) §

    以前は、basic_archive.archive_directoryの設定が既存のディレクトリを指していない場合、拒否されていました。 これは、後からディレクトリが作成されたとしてもアーカイブ処理が永久に停止してしまうため、望ましくありませんでした。

  • 大文字小文字を区別しない処理によって文字列のバイト長が変化する場合に対応できるようcontrib/ltreeが修正されました。 (Jeff Davis) § §

    以前は、大文字小文字を区別しないマッチングを指定するlqueryパターンが、本来マッチングするはずのラベルにマッチングしない場合がありました。

  • contrib/pg_overexplainRANGE_TABLEオプションの出力構造の不具合が修正されました。 (Satyanarayana Narlapuram) §

    JSON、YAML、XML形式において、一部のフィールドの位置が誤っていたため、構造的に無効な出力が生成されていました。

  • contrib/pg_stat_statementspgss_query_texts.statファイルの解析中にエラーが発生した場合に、メモリリークしないように修正されました。 (Heikki Linnakangas) §

  • contrib/postgres_fdwにおいて、接続失敗時の早期クリーンアップによるクラッシュが回避されました。 (Etsuro Fujita) §

    リモート接続が失敗した場合、クリーンアップを中止すればその接続はもはや使用できなくなります。 しかし、オープンカーソルなどのデータ構造内に接続オブジェクトへの参照が残っている可能性があるため、トランザクションの終わりまで接続オブジェクトのクローズが遅延されます。

  • タイムゾーンデータファイルがtzdataリリース2026bに更新されました。 (Tom Lane) §

    ブリティッシュコロンビア州(America/Vancouver)は、2026年11月から年間を通してUTC-07(事実上の恒久的な夏時間)になります。 このリリースでは、それ以降同地域のタイムゾーン略称がMSTになると想定しています。 これは変更される可能性が高いですが、新しい略称が使用されるかどうかは不明です。 また、モルドバの歴史的な修正事項として、モルドバは2022年以降、EUの夏時間切り替え時刻に従っています。