他のバージョンの文書 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.2. リリース18.2 #

リリース日: 2026-02-12

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

E.2.1. バージョン18.2への移行 #

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

しかし、ltree列にインデックスがある場合は、更新後にインデックス再作成が必要になる可能性があります。 以下の6番目の変更ログの項目を参照してください。

E.2.2. 変更点 #

  • 予期しない次元に対してoidvector/int2vectorが保護されるようになりました。 (Tom Lane) §

    これらのデータ型は、NULLを含まない1次元配列であることが想定されていますが、これらの想定に違反するキャスト経路が存在しました。 これらの想定を検証せずに依存し、結果として誤動作を引き起こす可能性があった一部の関数にチェックが追加されました。

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

  • 予期しないデータ型を受け入れる演算子に関連付けられる選択性推定関数が厳格化されました。 (Tom Lane) § §

    contrib/intarrayには、入力が想定されるデータ型であるかどうかをチェックしていなかったため、任意のコード実行に悪用される可能性のある選択性推定関数が含まれていました。 サードパーティの拡張は、同様の危険性に対してチェックを行い、現在intarrayが使用している手法を用いて防御策を追加する必要があります。 このような拡張の修正には時間がかかるため、組み込みではない選択性推定関数を演算子にアタッチするにはスーパーユーザ権限が必要になりました。

    PostgreSQLプロジェクトは、本問題を報告してくれたzeroday.cloudの一員であるDaniel Firerに感謝します。 (CVE-2026-2004)

  • contrib/pgcryptoのPGP復号関数におけるバッファオーバーランが修正されました。 (Michael Paquier) §

    細工されたメッセージを長すぎるセッションキーで復号するとバッファオーバーランが発生し、任意のコードの実行と同等の深刻な問題を引き起こす可能性がありました。

    PostgreSQLプロジェクトは、本問題を報告してくれたzeroday.cloudの一員のTeam Xint Codeに感謝します。 (CVE-2026-2005)

  • マルチバイト文字長の不十分な検証が修正されました。 (Thomas Munro, Noah Misch) § § § § § §

    さまざまなバグにより、攻撃者が細工したSQLを発行して文字列バッファをオーバーランさせることが可能になり、任意のコード実行と同等の深刻な結果を招く可能性がありました。 これらの修正後、文字列関数がデータベースに保存された不正なテキストを処理する際に、アプリケーションでinvalid byte sequence for encodingエラーが発生する可能性があります。

    PostgreSQLプロジェクトは、本問題を報告してくれたzeroday.cloudの一員であるPaul GersteとMoritz Sanftに感謝します。 (CVE-2026-2006)

  • contrib/pg_trgmにおいて、文字列の小文字化動作変更に対する強化が実施されました。 (Heikki Linnakangas) § §

    一部のロケールでは、文字列を小文字化すると元の文字列より多くの文字数(バイト数ではない)を生成する可能性があることから生じる潜在的なバッファオーバーランの発生が修正されました。 この動作はバージョン18で新しく追加されたものであり、このバグも同様です。

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

  • contrib/ltreeにおける大文字小文字を区別しないマッチングの不一致が修正されました。 (Jeff Davis) § §

    ltreeのインデックス関連ルーチンは、主要な演算子とは異なる大文字と小文字の変換実装を使用していました。 これらの動作は、デフォルト照合順序プロバイダがlibcで、エンコーディングがシングルバイトの場合にのみ同等でした。

    修正のため、データベースのデフォルトの照合順序で大文字と小文字の変換を使用するようコードが変更されました。 この変更により、データベースが照合順序プロバイダとしてlibcを使用し、エンコーディングがシングルバイトでない限り、インデックスアクセスメソッドに関係なくltree列のインデックスの再インデックスが必要になります。 再インデックスを行わないと、そのようなインデックスの検索で関連エントリを見つけることができません。

  • ALTER TABLE ... ADD CONSTRAINTを使用して明示的な名前を持つNOT NULL制約を追加する場合、列がすでにNOT NULLとマークされている場合は、指定された名前が既存の制約名と一致する必要があります。 (Álvaro Herrera, Srinath Reddy Sadipiralla) §

  • 副SELECT内のCTE参照を用いて集約関数のセマンティックレベルを決定するのが禁止されました。 (Tom Lane) §

    この変更は、2つ前のマイナーリリースで行われた変更を元に戻すものであり、代わりに標準SQLルールが包含列参照と集計に基づいて集計に割り当てるセマンティックレベルよりも低いCTEを副SELECTが参照している場合に、エラーを発生させるようになりました。 試みられた修正は、それ自体が問題を引き起こすことが判明し、代わりに何をすべきかは不明です。 集計関数内の副SELECTは標準SQLでは完全に禁止されているため、このようなケースをエラーとして処理すれば十分であると思われます。

  • CTE問い合わせにおけるMERGEのトリガ遷移テーブルキャプチャが修正されました。 (Dean Rasheed) §

    ステートメントレベルAFTERトリガが設定されたテーブルに対して、MERGEおよび別のDML操作の両方を含むデータ変更CTE問い合わせを実行すると、トリガに渡される遷移テーブルにはMERGEによって影響を受ける行が含まれず、他の操作によって影響を受ける行のみが含まれる問題が発生していました。

  • 副問い合わせなど、非リレーション範囲テーブルエントリに属する行マークの不適切なプルーニングが修正されました。 (Dean Rasheed) §

    これにより、提案された行の更新をEvalPlanQualの再チェックによって修正する必要がある場合、その行へ同時更新があった場合に結果を誤ることがありました。

  • UPDATEまたはDELETEの対象となるパーティションテーブルのすべての子テーブルが除外されている場合に発生するエラーが修正されました。 (Amit Langote) §

    このような場合、何もする必要がないにもかかわらず、エグゼキュータがcould not find junk ctid columnエラーを報告する可能性がありました。

  • 配列添字内の副問い合わせに対する式評価の不具合が修正されました。 (Andres Freund) §

  • 非決定論的照合順序におけるテキストの部分文字列検索が修正されました。 (Laurenz Albe) §

    非決定論的照合順序を使用した場合、検索文字列の末尾で発生する一致を検出できませんでした。

  • 問い合わせに重複したウィンドウ関数呼び出しが含まれている場合に発生する可能性のあるプランナの失敗が回避されました。 (Meng Zhang, David Rowley) §

    このような呼び出しの重複排除に関する混乱により、WindowFunc with winref 2 assigned to WindowAgg with winref 1のようなエラーが発生する可能性がありました。

  • 集合を返す関数とグループ化集合に関するプランナエラーが修正されました。 (Richard Guo) §

    ProjectSetプランノードの構築時、プランナはグループ化式を含む部分式が入力プランによって既に計算されていることを検出できませんでした。 これにより、非効率的なプランや、variable not found in subplan target listなどのエラーが発生していました。

  • 副問い合わせのGROUPING句にVOLATILE関数または集合を返す関数が含まれている場合の誤った最適化が回避されました。 (Richard Guo) §

    プランナは、そのようなグループ化列を参照する外部問い合わせの制約をプッシュダウンしようとしたため、その結果VOLATILE関数の多重評価による誤った動作が発生したり、副問い合わせのWHERE/HAVING句に集合返却関数が導入されることによってエラーが発生していました。

  • 式に関する統計情報を検索する際は、PlaceHolderVarノードを調べるようになりました。 (Richard Guo) §

    この変更により、プランナは、副問い合わせからプルアップされた式やGROUP BYで使用された式に関連する統計情報を見つけることができ、デフォルトの推定値へのフォールバックが回避されます。 (おそらく、値がNULLになる確率が高まったことを考慮して、見つかった統計情報を調整する必要がありますが、単純な変数に対しても同等のことを行ったことはありません。) この制限は古いものですが、PostgreSQLバージョン18での変更により、PlaceHolderVarsが以前よりも一般的になったため、影響を受けた場合のプランの退行を回避するために変更が実施されました。

  • 式をインデックスと照合する際に、何もしない(no-opの)PlaceHolderVarノードを調べるようになりました。 (Richard Guo) §

    PostgreSQLバージョン18では、以前よりも多くの場合にPlaceHolderVarsが使用されるため、以前はインデックスを使用できた問い合わせの一部がインデックスを使用できなくなりました。 この後退を防ぐためのロジックが追加されました。

  • プランナのOR句からScalarArrayOpインデックス条件への変換が修正されました。 (Tender Wang, Tom Lane) §

    コードがRelabelTypeノードを正しく処理しなかったため、無効な式が生成されたり、有効な変換の実行に失敗することがありました。

  • インデックスの述語がWHERE句の真を暗示する場合でも、部分ハッシュインデックスによるインデックススキャンが可能になりました。 (Tom Lane) §

    通常、述語によって暗黙的に示されるWHERE句は、全てのインデックスエントリに対して真である必要があるので、テストする意味が無いため削除します。 しかし、ハッシュインデックスのように、先頭インデックスキーに対するWHERE句を必要とするインデックスの場合、この処理がインデックススキャンプランの作成を妨げる可能性がありました。 このようなインデックスを検討する場合は、暗黙的な句を削除しないようになりました。

  • UNLOGGEDのBRINインデックスに対してWALが出力されなくなりました。 (Kirill Reshke) §

    めったに使用されないコードパスの1つでは、インデックスがUNLOGGEDとマークされている場合でも、BRINインデックスに関連するWALレコードが誤って出力されていました。 その結果、クラッシュリカバリでファイルが既に存在するといったエラーが発生して、WALレコードのリプレイに失敗していました。

  • 並列GINインデックス構築で正しい順序付け関数を使用するようになりました。 (Tomas Vondra) §

    並列コードはデフォルトの順序付け演算子(列のデータ型のbtree演算子クラスによって決定される)が使用されていましたが、もしあればGIN演算子クラスによって指定された順序付け関数を使用する必要がありました。 これにより、データ型にbtree演算子クラスが存在しない場合には失敗となり、btree演算子クラスが適合しない順序付け関数を指定している場合には無効なインデックスが生成される問題が発生していました。

  • 未読のNOTIFYメッセージによってまだ必要とされているCLOGの切り捨てが防止されました。 (Joel Jacobson, Heikki Linnakangas) § § §

    この修正により、バックエンドによるNOTIFYメッセージの吸い上げが遅い場合にcould not access status of transactionエラーの発生が防止されます。

  • NOTIFYメッセージ処理中に発生したエラーをFATALにエスカレートします。 つまり、接続を切断します。 (Heikki Linnakangas) §

    以前は、バックエンドがNOTIFYメッセージを吸い上げている間にエラーを検出した場合、そのメッセージを読み飛ばし、クライアントにエラーを報告して処理を続行していました。 しかし、その動作には多くの問題がありました。大きな懸念点の一つは、クライアントが通知の損失を知る適切な手段がなく、ましてやその内容を知る手段がないことです。 アプリケーションロジックによっては、通知を失うと例えばアプリケーションが待機状態となってしまう可能性がありました。 また、残りのメッセージは、誰かが新しいNOTIFYを送信するまで処理されません。

    さらに、NOTIFY信号受信時に接続がアイドル状態の場合、無関係な理由によりERRORは常にFATALにエスカレートされていました。 一貫性を保ち、アプリケーションに通知が失われた可能性があることを明確に伝えるために、すべてのケースでこの動作(FATALで切断)を実行することにしました。

  • クエリIDのハッシュ計算をする際に、グループ化式を考慮するようになりました。 (Jian He) §

    以前は、GROUP BY式を除いて同一である2つの問い合わせは、contrib/pg_stat_statementsおよびその他のクエリIDの利用者によって誤ってマージされていました。

  • 同時の更新と共にEXPLAIN ANALYZE MERGEが行なわれる際に、更新回数が誤ってカウントされる問題が修正されました。 (Dean Rasheed) §

    この状況により、EXPLAINの出力におけるスキップされた(skipped)タプルの数が間違っていたり、アサートが有効なビルドではアサーションエラーが発生していました。

  • タプルをロックする際の後続の更新チェーンにおける不具合が修正されました。 (Jasper Smit) §

    このコードパスでは、更新チェーン内の最初の新しいタプルのxmin値の確認が省略されていたため、元の更新処理が中止され、その領域がVACUUMによってすぐに回収されて再利用された場合に、無関係なタプルがロックされる可能性がありました。 これにより、予期せぬトランザクションの遅延やデッドロックが発生する可能性がありました。 誤ったタプルを識別したことに関連するエラーも確認されています。

  • 大規模テーブルの増分バックアップにおける不正な処理が修正されました。 (Robert Haas, Oleg Tkachenko) §

    ベースバックアップと増分バックアップとの間に、1GB(または一般的にはインストールセグメントサイズ)を超えるテーブルがVACUUMによって切り詰められた場合、pg_combinebackuptruncation block length in excess of segment sizeというエラーで失敗する可能性がありました。 これにより、増分バックアップのリストアが妨げられていました。

  • 既にマップされていない共有メモリセグメントのロックを解除しようとしたことによる、プロセス終了時のバックエンドプロセスのクラッシュの可能性が修正されました。 (Rahila Syed) §

  • 非同期I/Oコードの競合状態が修正されました。 (Andres Freund) §

    非同期I/O操作の結果コードが取得される前に上書きされる可能性がありました。

  • クラッシュ後のマルチトランザクションログの不適切な切り捨てが防止されました。 (Heikki Linnakangas) §

  • pg_stat_get_backend_activity()の結果が誤ってエンコードされる可能性があった問題が修正されました。 (Chao Li) §

    セッションのアクティビティ文字列を保持する共有メモリバッファは、不完全なマルチバイト文字で終わる可能性がありました。 読取り側はそのような不完全な文字を切り捨てるべきですが、この関数はそれを実行していませんでした。

  • 再帰的なメモリコンテキストのログ出力が防止されました。 (Fujii Masao) §

    メモリコンテキストのログ出力を要求するシグナルが継続的に送信されると、ログ出力コードの再帰的な実行が引き起こされる可能性があり、理論上はスタックオーバーフローが発生する可能性がありました。

  • 並列実行コンテキストの再初期化時のメモリコンテキストの使用が修正されました。 (Jakub Wartak, Jeevan Chalke) §

    この誤りは、並列コンテキストよりも短い寿命を持つ補助データ構造が原因でクラッシュを引き起こす可能性がありました。 この問題はPostgreSQLコアのみでは発生しないことが分かっていますが、拡張で問題が発生した報告がありました。

  • 新しいマルチトランザクションID(multixid)を作成する際に、次のmultixidのオフセットを設定することで、特殊なケースで必要だった待機ループが削除されました。 (Andrey Borodin) § §

    以前のロジックでは、決して発生しない更新を待機して立ち往生する可能性がありました。

  • データを変更するCTEの複数回の書き換えが回避されました。 (Bernice Southey, Dean Rasheed) §

    以前は、自動更新可能なビューやルール付きリレーションを更新する際、元の問い合わせにデータを変更するCTEが含まれている場合、再帰処理によりリライタはそれらのCTEを複数回書き換えていました。 これは非効率的であり、CTEにALWAYS指定の生成列が含まれている場合、誤ったエラーが発生する可能性がありました。

  • DSM(動的共有メモリ)レジストリエントリの初期化の再試行ができるようになりました。 (Nathan Bossart) §

    動的共有メモリエントリの初期化途中で失敗した場合、次回の施行でそのエントリの初期化を再試行できるようになりました。 以前は、エントリは永続的に失敗した状態のままでした。

  • ページがスワップアウトされた場合のNUMAページビューの失敗が回避されました。 (Tomas Vondra) §

  • 古いバージョンのlibnumaを使用してNUMAページ状態を問い合わせた際のoperation not permittedエラーが回避されました。 (Tomas Vondra) §

  • チェックポイントレコードで指定されたREDOポイントまでのWALが存在しない場合はリカバリを失敗させるよう修正されました。 (Nitin Jadhav) §

    リカバリを開始する前に、このことを明示的にチェックする機能を追加することで、問題が発生せず、有用なエラーメッセージが提供されるようになります。 以前は、このような状況でリカバリをおこなうと、データベースがクラッシュしたり破損したりする可能性がありました。

  • ALTER PUBLICATIONの実行中の、元の問い合わせツリーへの書き込みが回避されました。 (Sunil S) §

    この誤りにより、問い合わせに対して起動されたイベントトリガは、複数のpublishオプションが指定されていたとしても、最初のオプションしか認識しないという目に見える影響がありました。 このような問い合わせがプリペアドステートメントとして設定されていた場合、再実行時も不正な動作が発生していました。

  • CREATE SUBSCRIPTION ... CONNECTIONで指定された接続オプションをパブリッシャーのwalsenderに渡すようになりました。 (Fujii Masao) §

    この修正以前は、options接続オプションが存在する場合は無視されていたため、例えばwalsenderセッションでカスタムサーバパラメータ値を設定できなくなっていました。 これは動作するように意図されており、PostgreSQLバージョン15のリファクタリングで機能しなくなる前は動作していました。そのため、以前の動作に戻します。

  • 新しく作成された、または新たに同期されたレプリケーションスロットが無効化されるのが防止されました。 (Zhijie Hou) § § §

    同時にチェックポイントが実行される競合状態により、レプリケーションスロットが必要とするWALが削除され、そのスロットが即座に無効とマークされる可能性がありました。

  • レプリケーションスロットが必要とするxminを計算する際の競合状態が修正されました。 (Zhijie Hou) §

    これにより、cannot build an initial slot snapshot as oldest safe xid follows snapshot's xminというエラーが発生する可能性がありました。

  • 論理レプリケーションサブスクリプションの初期同期中、データのコピーを開始する前にpg_replication_originエントリの追加をコミットするようになりました。 (Zhijie Hou) §

    以前は、コピーステップが失敗した場合、トランザクションのロールバックにより新しいpg_replication_originエントリが失われていました。 これにより、共有メモリの状態が不整合になっていました。

  • パラレルワーカーの適用が失敗した後、論理レプリケーションの進捗を進めないよう修正されました。 (Zhijie Hou) §

    以前の動作では、サブスクライバーによってトランザクションが失われる可能性がありました。

  • LOCK_TIMEOUTシグナルを正しく処理できるように論理レプリケーションのスロット同期(slotsync)ワーカープロセスが修正されました。 (Zhijie Hou) §

    以前は、タイムアウトシグナルは事実上無視されていました。

  • ストリーミングレプリカサーバの再起動中にunexpected data beyond EOFによって発生する可能性があった障害が修正されました。 (Anthonin Bonnefoy) §

  • SQL/JSON pathの型不一致に関するエラーメッセージが修正されました。 (Jian He) §

    このコードではpath式が正しい型ではないという意図したエラーではなく、cache lookup failed for type 0というエラーが生成される可能性がありました。

  • パーティション範囲の境界を解析する際の列位置の誤った追跡が修正されました。 (myzhen) §

    これにより、例えば、パーティション境界値を列のデータ型にキャストする際のエラーメッセージに、誤った列名が表示されるといった問題が発生する可能性がありました。

  • エラーメッセージにおける様々な軽微な誤りが修正されました。 (Man Zeng, Tianchen Zhang) § § § § §

    例えば、バックアップマニフェスト内のタイムライン番号不一致に関するエラー報告で、本来表示されるべき終了タイムライン番号が開始タイムライン番号として表示されていました。

  • LLVMバージョン17以降でJITコンパイルを行う際に、関数インライン化が失敗する問題が修正されました。 (Anthonin Bonnefoy) §

  • LLVM 21で動作するようにJITコードが調整されました。 (Holger Hoffstätte) §

    以前のコードは、aarch64マシンでコンパイルに失敗していました。

  • 古い(RHEL7時代の)システムヘッダファイルを使用してビルドできるように、aarch64固有のコードが修正されました。 (Tom Lane) § §

  • io_uring_queue_init_mem()に対する誤ったconfigureプローブが修正されました。 (Masahiko Sawada) §

    この誤りにより、autotoolsベースのビルドでは非同期I/Oバッファ割り当ての最適化が失敗していましたが、mesonを使用したビルドではコードは正常に動作していました。 この修正漏れによる主な影響は、バックエンドプロセスの終了処理が不必要に遅くなることでした。

  • posix_fallocate()の使用を制御するために、新しいサーバ変数file_extend_methodが追加されました。 (Thomas Munro) §

    PostgreSQLバージョン16以降では、プラットフォームが提供している場合、リレーションファイルの拡張にposix_fallocate()を使用します。 しかし、これは一部のファイルシステムとうまく連携しないことが報告されています。 具体的には、posix_fallocate()の使用によりBTRFSの圧縮が無効になり、XFSでは古いバージョンのLinuxカーネルで誤ったENOSPCエラーが発生する可能性がありました。 この問題を回避するため、この新しいサーバ変数が導入されました。 file_extend_methodwrite_zerosに設定すると、サーバはゼロブロックを書き込むことでファイルを拡張する従来の方法に戻ります。

  • Windowsにおいてopen()O_CLOEXECフラグを正しく処理するようになりました。 (Bryan Green, Thomas Munro) § § §

    このフラグをPOSIXプラットフォームと同様に動作させることで、COPY TO/FROM PROGRAMなどの子プロセスへのファイルハンドルリークが防止されるようになりました。 このリークによって大きな問題が生じたわけではありませんが、望ましくない状況でした。

  • MesonでビルドされたSolaris実行ファイルにおいて、サーバコマンドラインの長いオプションの解析エラーが修正されました。 (Tom Lane) §

  • GNU/Hurd上でプロセスタイトルの変更がサポートされました。 (Michael Banck) §

  • psqlでのVACUUMオプション値に対するタブ補完を修正しました。 (Yugo Nagata) §

  • psqlコマンドプロンプトにおいて、サーバ接続がない場合は%P(パイプライン状態)の値を表示しないようになりました。 (Chao Li) §

    これにより、%Pは、アクティブな接続状況に応じて値が変化する他のプロンプトエスケープシーケンスと同様の動作をするようになります。

  • pg_dumpによるシーケンス値の収集ロジックが修正されました。 (Nathan Bossart) § §

    ダンプ対象のデータベースオブジェクトに含まれていないシーケンスであっても、ダンプ実行中にそのシーケンスが削除されるとpg_dumpは失敗していました。 また、呼び出し元のユーザにシーケンスの値を読み取る権限がない場合、pg_dumpは期待どおりに失敗するのではなく、誤った値を出力していました。

  • pg_dumpによるoauth_validator_librariesの値の潜在的な誤った引用符付けが修正されました。 (ChangAo Chen) §

    pg_dumpは、この設定の値をダンプする必要がある場合、誤った引用ルールを適用していました。

  • バイナリアップグレードモードでのpg_dumpのアサーションエラーが回避されました。 (Vignesh C) §

    オブジェクトのソート処理コードにおいて、サブスクリプション関連オブジェクトの処理に失敗したためアサーションエラーが発生していましたが、本番環境のビルドでは深刻な悪影響はありませんでした。

  • パイプラインモードで複数の\syncpipelineコマンドが実行された場合のpgbenchのエラー処理の誤りが修正されました。 (Yugo Nagata) §

    問い合わせエラーの後に複数の\syncpipelineコマンドが検出された場合、pgbenchfailed to exit pipeline modeと報告するか、アサートが有効なビルドではアサーションエラーが発生していました。

  • pg_resetwalがOldestXIDを変更した際に、更新された値が出力されるようになりました。 (Heikki Linnakangas) §

    他の変更可能な変数については既にそのように動作していました。

  • pg_resetwalで、次のmultixact xidを0にしたり、次のmultixactオフセットをUINT32_MAXに設定できるようになりました。 (Maxim Orlov) §

    これらは有効な値であるため、拒否していたのは誤りでした。 最悪の場合、multixactの周回が発生するまさにその時点でpg_upgradeが試行されると、アップグレードは失敗していました。

  • contrib/amcheckで、btreeインデックスの親チェックで正しいスナップショットを使用するようになりました。 (Mihail Nikalayeu) § §

    以前のコードでは、CREATE INDEX CONCURRENTLYで作成されたインデックスを検査する際に誤ったエラーが発生していました。

  • half-dead状態のbtreeインデックスページを正しく処理するようにcontrib/amcheckが修正されました。 (Heikki Linnakangas) §

    amcheckは、このようなページには親のダウンリンクが存在することを想定していましたが、実際には存在しないため、mismatch between parent key and child high keyという誤ったエラー報告が発生していました。

  • 不完全なbtreeルートページ分割を正しく処理するようにcontrib/amcheckが修正されました。 (Heikki Linnakangas) §

    amcheckblock is not true rootという誤ったエラーを報告する可能性がありました。

  • contrib/pg_buffercacheにおける過剰なメモリ割り当てが修正されました。 (David Geier) §

    このコードは、NUMAページステータスに必要なメモリ量の2倍のメモリを割り当てていました。

  • contrib/intarray@@の選択度推定において、エッジケースの整数オーバーフローが修正されました。 (Chao Li) §

    これにより、整数の最大値を含む場合に、不適切な選択度推計が生成される可能性がありました。

  • contrib/ltreeにおけるマルチバイトエンコーディング問題が修正されました。 (Jeff Davis) §

    以前のコードでは、不完全なマルチバイト文字がlower()に渡される可能性があり、その結果、誤った動作を引き起こす可能性がありました。

  • contrib/pg_stat_statementsにおいて、INリストに定数と非定数式の両方が含まれている場合に発生するクラッシュが回避されました。 (Sami Imseih) §

  • タイムゾーンデータファイルをtzdataリリース2025cに更新しました。 (Tom Lane) §

    変更点は、バハカリフォルニアの1976年以前のタイムスタンプに関する履歴データのみです。