<title>Release date:</title> リリース日: 2026-02-26
This release contains a small number of fixes from 18.2. For information about new features in major release 18, see <xref linkend="release-18"/>. このリリースは18.2に対し、少数の不具合を修正したものです。 18メジャーリリースにおける新機能については、E.4を参照してください。
A dump/restore is not required for those running 18.X. 18.Xからの移行ではダンプ/リストアは不要です。
However, if you are upgrading from a version earlier than 18.2, see <xref linkend="release-18-2"/>. しかしながら、18.2より前のバージョンからアップグレードする場合は、E.2を参照してください。
Fix failure after replaying a multixid truncation record from WAL that was generated by an older minor version (Heikki Linnakangas) 以前のマイナーバージョンで生成されたWALからマルチトランザクションID切り捨てレコードを再生した際に発生するエラーが修正されました。 (Heikki Linnakangas) §
Erroneous logic for coping with the way that previous versions handled multixid wraparound led to replay failure, with messages like <quote>could not access status of transaction</quote>. A typical scenario in which this could occur is a standby server of the latest minor version consuming WAL from a primary server of an older version. 以前のバージョンにおけるマルチトランザクションID周回の処理方法に誤ったロジックが組み込まれていたため、再生エラーが発生し、「could not access status of transaction」といったメッセージが表示されていました。 この問題が発生する典型的なシナリオは、最新マイナーバージョンのスタンバイサーバが、旧バージョンのプライマリサーバからのWALを処理する場合です。
Avoid incorrect complaint of invalid encoding
when <function>substring()</function> is applied
to <quote>toasted</quote> data (Noah Misch)
「TOASTされた」データに対してsubstring()を適用した際に、エンコーディングが無効であるという誤ったエラーの発生が回避されました。
(Noah Misch)
§
§
§
The fix for CVE-2026-2006 was too aggressive and could raise an error about an incomplete character in cases that are actually valid. CVE-2026-2006の修正は過度に積極的であったため、実際に有効な場合であっても不完全な文字に関するエラーが発生する可能性がありました。
Fix oversight in the fix for CVE-2026-2007 (Zsolt Parragi) CVE-2026-2007の修正における見落としが修正されました。 (Zsolt Parragi) §
If the <quote>bounds</quote> array needed to be expanded, because
the input contained more trigrams than the initial guess,
<function>generate_trgm_only</function> didn't return the modified
array pointer to its caller. That would lead to incorrect output
from <function>strict_word_similarity()</function> and related
functions, or in rare cases a crash. The faulty code is reached if
the input string becomes longer when it's converted to lower case.
The only known instances of that occur when an ICU locale is used
with certain single-byte encodings.
入力に含まれるトライグラムが初期推定値よりも多かったために、「境界」配列を拡張する必要が生じた場合、generate_trgm_onlyは変更後の配列ポインタを呼び出し元に返していませんでした。
これにより、strict_word_similarity()および関連する関数から誤った出力が生成されたり、まれにクラッシュが発生したりしていました。
この不具合のあるコードは、入力文字列を小文字に変換した際に文字列が長くなった場合に実行されます。
この問題が発生するのは、特定のシングルバイトエンコーディングでICUロケールが使用されている場合のみです。
Fix the volatility marking
of <function>json_strip_nulls()</function>
and <function>jsonb_strip_nulls()</function> (Andrew Dunstan)
json_strip_nulls()とjsonb_strip_nulls()の変動性マークが修正されました。
(Andrew Dunstan)
§
These functions have always been considered immutable, but refactoring in version 18 accidentally marked them stable instead. That prevents their use in index expressions and could cause unnecessary repeat evaluations in queries. This fix corrects the marking in newly-initialized database clusters (including clusters that are <application>pg_upgrade</application>'d to 18.3 or later). However it will not help existing clusters made using 18.0 through 18.2. これらの関数はこれまでIMMUTABLEとみなされていましたが、バージョン18のリファクタリングで誤ってSTABLEとマークされました。 これにより、インデックス式での使用が妨げられ、問い合わせで不要な再評価が発生する可能性がありました。 この修正により、新しく初期化されたデータベースクラスタ(pg_upgradeで18.3以降にアップグレードされたクラスタを含む)のマーキングが修正されます。 ただし、18.0から18.2を使用して作成された既存のクラスタには適用されません。
If this mistake affects your usage of these functions, the recommended fix for an existing cluster is a manual catalog update. As superuser, perform この誤りによりこれらの関数の使用に影響が出ている場合、既存のクラスタに対して推奨される修正は、カタログの手動更新です。 スーパーユーザとして、影響を受ける各データベースで
UPDATE pg_catalog.pg_proc SET provolatile = 'i' WHERE oid IN ('3261','3262');
を実行してください。
in each affected database. Update <literal>template0</literal>
and <literal>template1</literal> as well, so that databases made in
future will have the fix.
今後作成されるデータベースに対しても修正が適用されるように、template0とtemplate1も更新してください。
Fix computation of the set of potentially-nulling outer joins for
the output of a <literal>LATERAL UNION ALL</literal> subquery
(Richard Guo)
LATERAL UNION ALL副問い合わせの出力における、NULL値を含む可能性がある外部結合の計算方法が修正されました。
(Richard Guo)
§
This error could lead to skipping <literal>NOT NULL</literal> tests
in the mistaken belief that they were unnecessary, resulting in
wrong query output.
このエラーにより、NOT NULLチェックが不要であると誤って判断され、その結果、問い合わせの出力が不正になる可能性がありました。
Avoid name collisions between user-written constraints and
automatically-named <literal>NOT NULL</literal> constraints
(Laurenz Albe)
ユーザ定義の制約と自動的に名前が付けられるNOT NULL制約との間での名前の競合が回避されました。
(Laurenz Albe)
§
As of version 18, <literal>NOT NULL</literal> constraints have
full-fledged <structname>pg_constraint</structname> entries, and
therefore require names. The logic for choosing a name for an
unnamed <literal>NOT NULL</literal> constraint failed to avoid
conflicts with user-written constraints elsewhere in the
same <command>CREATE TABLE</command> statement.
バージョン18では、NOT NULL制約は完全なpg_constraintエントリを持つため、名前が必要です。
名前のないNOT NULL制約の名前を選択するロジックでは、同じCREATE TABLE文内の他の場所に存在するユーザ定義の制約との名前の競合を回避できませんでした。
Fix <function>pg_stat_get_backend_wait_event()</function>
and <function>pg_stat_get_backend_wait_event_type()</function>
to report values for auxiliary processes (Heikki Linnakangas)
補助プロセスに関する値を出力するようpg_stat_get_backend_wait_event()およびpg_stat_get_backend_wait_event_type()が修正されました。
(Heikki Linnakangas)
§
Previously these functions returned NULL for auxiliary processes,
but that's inconsistent with
the <structname>pg_stat_activity</structname> view.
以前は、これらの関数は補助プロセスに対してNULLを返していましたが、これはpg_stat_activityビューとの整合性が取れていませんでした。
Fix casting a composite-type variable to a domain type when returning its value from a PL/pgSQL function (Tom Lane) PL/pgSQL関数から値を返す際、複合型変数をドメイン型にキャストする処理が修正されました。 (Tom Lane) §
If the variable's value is NULL, a <quote>cache lookup failed for type 0</quote> error resulted. 変数の値がNULLの場合、「cache lookup failed for type 0」というエラーが発生していました。
Fix potential null pointer dereference
in <filename>contrib/hstore</filename>'s binary input function
(Michael Paquier)
contrib/hstoreのバイナリ入力関数における、潜在的なヌルポインタ参照の可能性が修正されました。
(Michael Paquier)
§
<type>hstore</type>'s receive function crashed on input containing
duplicate keys. <type>hstore</type> values generated by Postgres
would never contain duplicate keys, so this mistake has gone
unnoticed. The crash could be provoked by malicious or corrupted
data.
hstoreの受信関数は、重複キーを含む入力でクラッシュしていました。
Postgresによって生成されるhstoreの値には重複キーが含まれないため、この不具合は見過ごされていました。
クラッシュは、悪意のあるデータまたは破損したデータによって引き起こされた可能性がありました。