<title>Release date:</title> リリース日: 2025-11-13
This release contains a variety of fixes from 18.0. For information about new features in major release 18, see <xref linkend="release-18"/>. このリリースは18.0に対し、様々な不具合を修正したものです。 18メジャーリリースにおける新機能については、E.4を参照してください。
A dump/restore is not required for those running 18.X. 18.Xからの移行ではダンプ/リストアは不要です。
Check for <literal>CREATE</literal> privileges on the schema
in <command>CREATE STATISTICS</command> (Jelte Fennema-Nio)
CREATE STATISTICSでスキーマに対するCREATE権限を確認するようになりました。
(Jelte Fennema-Nio)
§
This omission allowed table owners to create statistics in any schema, potentially leading to unexpected naming conflicts. この省略により、テーブル所有者は任意のスキーマで統計情報を作成できるようになり、予期せぬ名前の競合が発生する可能性がありました。
The <productname>PostgreSQL</productname> Project thanks Jelte Fennema-Nio for reporting this problem. (CVE-2025-12817) PostgreSQLプロジェクトは、本問題を報告してくれたJelte Fennema-Nioに感謝します。 (CVE-2025-12817)
Avoid integer overflow in allocation-size calculations within <application>libpq</application> (Jacob Champion) libpq内の割り当てサイズ計算における整数オーバーフローが回避されました。 (Jacob Champion) §
Several places in <application>libpq</application> were not sufficiently careful about computing the required size of a memory allocation. Sufficiently large inputs could cause integer overflow, resulting in an undersized buffer, which would then lead to writing past the end of the buffer. libpqの複数の箇所で、メモリ割り当てに必要なサイズの計算が十分に注意されていませんでした。 十分な大きさの入力は整数のオーバーフローを引き起こし、その結果、バッファサイズが不足して、バッファの終端を超えて書き込みが行なわれる可能性がありました。
The <productname>PostgreSQL</productname> Project thanks Aleksey Solovev of Positive Technologies for reporting this problem. (CVE-2025-12818) PostgreSQLプロジェクトは、本問題を報告してくれたPositive TechnologiesのAleksey Solovevに感謝します。 (CVE-2025-12818)
Prevent <quote>unrecognized node type</quote> errors when a SQL/JSON
function such as <function>JSON_VALUE</function> has
a <literal>DEFAULT</literal> clause containing
a <literal>COLLATE</literal> expression (Jian He)
JSON_VALUEなどのSQL/JSON関数にCOLLATE式を含むDEFAULT句がある場合に発生する「unrecognized node type」エラーが防止されました。
(Jian He)
§
§
Avoid incorrect optimization of
variable-free <literal>HAVING</literal> clauses with grouping sets
(Richard Guo)
グループ化セットを使用した変数を含まないHAVING句の誤った最適化が回避されました。
(Richard Guo)
§
§
Do not use parallelism in hash right semi joins (Richard Guo) Hash Right Semi Joinでは並列処理を使用しないようになりました。 (Richard Guo) §
The case does not work reliably due to a race condition in updating the join's shared hash table. 結合の共有ハッシュテーブルの更新時に競合状態が発生するため、このケースでは信頼性を持った動作をしません。
Avoid possible division-by-zero when creating ordered-append plans (Richard Guo) 順序付き追加(ordered-append)プランの作成時に発生する可能性のあるゼロ除算が回避されました。 (Richard Guo) §
This mistake could result in incorrect selection of the cheapest path, or in an assertion failure in debug builds. この誤りにより、本来選択されるべきではない実行計画を誤って最もコストの低いパスとして選択したり、またはデバッグビルドでアサーションエラーが発生する可能性がありました。
Fix planner failure with index types that can do ordered access but not index-only scans (Maxime Schoemans) 順次アクセスはできるがインデックスオンリースキャンはできないインデックスタイプでプランナが失敗する問題が修正されました。 (Maxime Schoemans) §
This oversight resulted in errors like <quote>no data returned for index-only scan</quote>. The case does not arise with any in-core index type, but some extensions encountered the problem. この見落としにより、「no data returned for index-only scan」といったエラーが発生していました。 この問題は組み込みのインデックスタイプでは発生しませんが、一部の拡張で発生していました。
Remove faulty assertion in btree index cleanup (Peter Geoghegan) btreeインデックスのクリーンアップで誤ったアサーションが削除されました。 (Peter Geoghegan) §
Avoid possible out-of-memory or <quote>invalid memory alloc request size</quote> failures during parallel GIN index build (Tomas Vondra) 並列GINインデックス構築中に発生する可能性のあるメモリ不足または「invalid memory alloc request size」エラーの発生が回避されました。 (Tomas Vondra) §
Ensure that BRIN autosummarization provides a snapshot for index expressions that need one (Álvaro Herrera) BRINの自動サマライズが、必要なインデックス式に対してスナップショットを提供するようになりました。 (Álvaro Herrera) § §
Previously, autosummarization would fail for such indexes, and then leave placeholder index tuples behind, causing the index to bloat over time. 以前は、このようなインデックスでは自動サマライズが失敗し、プレースホルダインデックスタプルが残ってしまうため、時間の経過とともにインデックスが肥大化していました。
Fix integer-overflow hazard in BRIN index scans when the table contains close to 2<superscript>32</superscript> pages (Sunil S) テーブルが232ページに近い場合、BRINインデックススキャンにおける整数オーバーフローの危険性が修正されました。 (Sunil S) §
This oversight could result in an infinite loop or scanning of unneeded table pages. この見落としにより、無限ループが発生したり、不要なテーブルページがスキャンされる可能性がありました。
Fix incorrect zero-extension of stored values in JIT-generated tuple deforming code (David Rowley) JIT生成のタプル変換コードにおける格納値の誤ったゼロ拡張が修正されました。 (David Rowley) §
When not using JIT, the equivalent code does sign-extension not zero-extension, leading to a different Datum representation of small integer data types. This inconsistency was masked in most cases, but it is known to lead to <quote>could not find memoization table entry</quote> errors when using Memoize plan nodes, and there might be other symptoms. JITを使用しない場合、同等のコードはゼロ拡張ではなく符号拡張をおこなうため、小さな整数データ型のDatum表現が異なります。 この不整合はほとんどの場合に隠蔽されていましたが、Memoizeプランノードを使用時に「could not find memoization table entry」エラーが発生することが知られており、他にも症状が発生する可能性がありました。
Fix rare crash when processing hashed <literal>GROUPING
SETS</literal> queries (David Rowley)
ハッシュ化されたGROUPING SETS問い合わせを処理する際に稀に発生するクラッシュが修正されました。
(David Rowley)
§
Repair faulty hash-table-size-choosing logic in hash joins (Tomas Vondra) ハッシュ結合におけるハッシュテーブルサイズ選択ロジックの不具合が修正されました。 (Tomas Vondra) §
Hash joins sometimes used more memory than intended, or failed to divide it in an efficient way. ハッシュ結合では、意図したよりも多くのメモリを使用したり、メモリを効率的に分割できなかったりすることがありました。
Improve relation lookup logic in statistics manipulation functions (Nathan Bossart) 統計情報操作関数におけるリレーション検索ロジックが改善されました。 (Nathan Bossart) § §
Fix <function>pg_restore_relation_stats()</function>,
<function>pg_clear_relation_stats()</function>,
<function>pg_restore_attribute_stats()</function>, and
<function>pg_clear_attribute_stats()</function> to check
privileges before acquiring lock on the target relation
rather than after.
対象リレーションのロック取得後ではなく取得前に権限チェックを行うようにpg_restore_relation_stats()、pg_clear_relation_stats()、pg_restore_attribute_stats()、pg_clear_attribute_stats()が修正されました。
Fix incorrect logic for caching result-relation information for triggers (David Rowley, Amit Langote) トリガの結果リレーション情報のキャッシュ処理における誤ったロジックが修正されました。 (David Rowley, Amit Langote) §
In cases where partitions' column sets aren't physically identical to their parent partitioned tables' column sets, this oversight could lead to crashes. パーティションの列セットが親パーティションテーブルの列セットと物理的に同一でない場合、この見落としによりクラッシュが発生する可能性がありました。
Fix crash during EvalPlanQual rechecks on partitioned tables (David Rowley, Amit Langote) パーティションテーブルでのEvalPlanQualの再チェック中に発生するクラッシュが修正されました。 (David Rowley, Amit Langote) §
Fix EvalPlanQual handling of foreign or custom joins that do not have an alternative local-join plan prepared for EPQ (Masahiko Sawada, Etsuro Fujita) EvalPlanQual用に代替のローカル結合プランが用意されていない外部テーブル結合またはカスタム結合のEvalPlanQual処理が修正されました。 (Masahiko Sawada, Etsuro Fujita) §
In such cases the foreign or custom access method should be invoked normally, but that did not happen, typically leading to a crash. このような場合、外部またはカスタムアクセスメソッドが通常どおり呼び出されるべきですが、実際には呼び出されず、通常はクラッシュが発生していました。
Avoid duplicating hash partition constraints during <literal>DETACH
CONCURRENTLY</literal> (Haiyang Li)
DETACH CONCURRENTLY実行中のハッシュパーティション制約の重複が回避されました。
(Haiyang Li)
§
<command>ALTER TABLE DETACH PARTITION CONCURRENTLY</command> was
written to add a copy of the partitioning constraint to the
now-detached partition. This was misguided, partially because
non-concurrent <literal>DETACH</literal> doesn't do that, but mostly
because in the case of hash partitioning the constraint expression
contains references to the parent table's OID. That causes problems
during dump/restore, or if the parent table is dropped
after <literal>DETACH</literal>. In v19 and later, we'll no longer
create any such copied constraints at all. In released branches, to
minimize the risk of unforeseen consequences, only skip adding a
copied constraint if it is for hash partitioning.
ALTER TABLE DETACH PARTITION CONCURRENTLYは、パーティション制約のコピーを現在デタッチされているパーティションに追加するように記述されていました。
これは誤った動作でした。非同時実行のDETACHではそのような処理を行わないのも一因ですが、ハッシュパーティションの場合、制約式に親テーブルのOIDへの参照が含まれていることが主な原因です。
これは、ダンプ/リストア時、またはDETACH後に親テーブルが削除された場合に問題が発生します。
v19以降では、このようなコピーされた制約は一切作成されなくなります。
リリース済みのブランチでは、予期せぬ結果のリスクを最小限に抑えるために、コピーされた制約の追加はハッシュパーティション用の制約のみスキップされます。
Disallow generated columns in partition keys (Jian He, Ashutosh Bapat) パーティションキーで生成列の使用が禁止されました。 (Jian He, Ashutosh Bapat) §
This was already not allowed, but the check missed some cases, such as where the column reference is implicit in a whole-row reference. これはすでに禁止されていましたが、行全体の参照で列参照が暗黙的である場合など、一部のケースでチェックが抜けていました。
Disallow generated columns in <literal>COPY ... FROM
... WHERE</literal> clauses (Peter Eisentraut, Jian He)
COPY ... FROM ... WHERE句で生成列の使用が禁止されました。
(Peter Eisentraut, Jian He)
§
Previously, incorrect behavior or an obscure error message resulted
from attempting to reference such a column, since generated columns
have not yet been computed at the point
where <literal>WHERE</literal> filtering is done.
以前は、生成列はWHEREフィルタリングが実行される時点ではまだ計算されていないため、このような列を参照しようとすると、不正な動作が発生したりわかりにくいエラーメッセージが表示されたりしていました。
Prevent setting a column as identity if it has a not-null constraint but the constraint is marked as invalid (Jian He) 列にNOT NULL制約があるものの、その制約が無効としてマークされている場合、その列を識別列として設定できないようになりました。 (Jian He) §
Identity columns must be not-null, but the check for that missed this edge case. 識別列はNOT NULLである必要がありますが、そのチェックではこのエッジケースが考慮されていませんでした。
Avoid potential use-after-free in parallel vacuum (Kevin Oommen Anish) 並列バキュームにおける潜在的なメモリ解放後使用が回避されました。 (Kevin Oommen Anish) §
This bug seems to have no consequences in standard builds, but it's theoretically a hazard. このバグは標準的なビルドでは影響がないように見えますが、理論的には危険でした。
Fix visibility checking for statistics objects
in <literal>pg_temp</literal> (Noah Misch)
pg_temp内の統計オブジェクトの可視性チェックが修正されました。
(Noah Misch)
§
A statistics object located in a temporary schema cannot be named
without schema qualification,
but <function>pg_statistics_obj_is_visible()</function> missed that
memo and could return <quote>true</quote> regardless. In turn,
functions such as <function>pg_describe_object()</function> could
fail to schema-qualify the object's name as expected.
一時スキーマにある統計オブジェクトは、スキーマ修飾なしでは名前を付けることはできませんが、pg_statistics_obj_is_visible()はこの注意書きを見落とし、いずれの場合でも「true」を返す可能性がありました。
その結果、pg_describe_object()などの関数は、オブジェクト名を期待通りにスキーマ修飾できない場合がありました。
Fix minor memory leak during WAL replay of database creation (Nathan Bossart) データベース作成のWALリプレイ中に発生する軽微なメモリリークが修正されました。 (Nathan Bossart) §
Fix incorrect reporting of replication lag
in <structname>pg_stat_replication</structname> view (Fujii Masao)
pg_stat_replicationビューにおけるレプリケーション遅延の誤った報告が修正されました。
(Fujii Masao)
§
If any standby server's replay LSN stopped advancing,
the <structfield>write_lag</structfield>
and <structfield>flush_lag</structfield> columns would eventually
stop updating.
いずれかのスタンバイサーバのリプレイLSNの進捗が停止した場合、write_lag列とflush_lag列の更新が最終的に停止していました。
Avoid duplicative log messages about
invalid <varname>primary_slot_name</varname> settings (Fujii Masao)
無効なprimary_slot_name設定に関する重複したログメッセージが回避されました。
(Fujii Masao)
§
Avoid failures when <varname>synchronized_standby_slots</varname>
references nonexistent replication slots (Shlok Kyal)
synchronized_standby_slotsが存在しないレプリケーションスロットを参照する場合の障害が回避されました。
(Shlok Kyal)
§
Remove the unfinished slot state file after failing to write a replication slot's state to disk (Michael Paquier) レプリケーションスロットの状態をディスクに書き込めなかった場合、未完了のスロット状態ファイルが削除されるようになりました。 (Michael Paquier) §
Previously, a failure such as out-of-disk-space resulted in leaving
a temporary <filename>state.tmp</filename> file behind. That's
problematic because it would block all subsequent attempts to
write the state, requiring manual intervention to clean up.
以前は、ディスク容量不足などの障害が発生すると、一時的なstate.tmpファイルが残っていました。
これは、それ以降の状態の書き込み試行をすべてブロックしてしまい、クリーンアップのために手動での介入が必要になるため、問題がありました。
Fix mishandling of lock timeout signals in parallel apply workers for logical replication (Hayato Kuroda) 論理レプリケーションの並列適用ワーカーにおけるロックタイムアウトシグナルの誤った処理が修正されました。 (Hayato Kuroda) §
The same signal number was being used for both worker shutdown and lock timeout, leading to confusion. ワーカーのシャットダウンとロックタイムアウトの両方に同じシグナル番号が使用されていたため、混乱が生じていました。
Avoid unwanted WAL receiver shutdown when switching from streaming to archive WAL source (Xuneng Zhou) ストリーミングWALソースからアーカイブWALソースに切り替える際に、不要なWALレシーバのシャットダウンが回避されました。 (Xuneng Zhou) §
During a timeline change, a standby server's WAL receiver should remain alive, waiting for a new WAL streaming start point. Instead it was repeatedly shutting down and immediately getting restarted, which could confuse status monitoring code. タイムライン変更の間、スタンバイサーバのWALレシーバは、新しいWALストリーミング開始点を待機しながら稼働状態を維持する必要があります。 実際にはWALレシーバは繰り返しシャットダウンしてすぐに再起動するため、ステータス監視コードが混乱する可能性がありました。
Fix use-after-free issue in the relation synchronization cache maintained by the <application>pgoutput</application> logical decoding plugin (Vignesh C, Masahiko Sawada) pgoutputロジカルデコーディングプラグインによって管理されるリレーション同期キャッシュにおける解放後使用の問題が修正されました。 (Vignesh C, Masahiko Sawada) §
An error during logical decoding could result in crashes in subsequent logical decoding attempts in the same session. The case is only reachable when <application>pgoutput</application> is invoked via SQL functions. ロジカルデコーディング中のエラーにより、同一セッション内の後続のロジカルデコーディング試行時にクラッシュが発生する可能性がありました。 この問題は、pgoutputがSQL関数経由で呼び出された場合にのみ発生します。
Avoid unnecessary invalidation of logical replication slots (Bertrand Drouvot) 論理レプリケーションスロットの不必要な無効化が回避されました。 (Bertrand Drouvot) §
Re-establish special case for <literal>C</literal> collation in
locale setup (Jeff Davis)
ロケール設定において、C照合順序の特殊ケースが再確立されました。
(Jeff Davis)
§
This fixes a regression in access to shared catalogs early in backend startup, before a database has been selected. It is not known to be a problem for any core <productname>PostgreSQL</productname> code, but some extensions were broken. これにより、データベースが選択される前のバックエンド起動初期段階における共有カタログへのアクセスが失敗していた問題が修正されます。 PostgreSQLのコアコードに問題は確認されていませんが、一部の拡張で不具合が発生していました。
Fix incorrect printing of messages about failures in checking whether the user has Windows administrator privilege (Bryan Green) ユーザがWindowsの管理者権限を持っているかどうかの確認に失敗した場合のメッセージが正しく出力されない問題が修正されました。 (Bryan Green) §
This code would have crashed or at least printed garbage. No such cases have been reported though, indicating that failure of these system calls is extremely rare. このコードはクラッシュするか、少なくとも無意味な文字列を表示していました。 しかし、そのような事例は報告されておらず、これらのシステムコールの失敗は極めて稀であることを示しています。
Avoid crash when attempting to test <productname>PostgreSQL</productname> with certain libsanitizer options (Emmanuel Sibi, Jacob Champion) 特定のlibsanitizerオプションを使用してPostgreSQLをテストしようとした際のクラッシュが回避されました。 (Emmanuel Sibi, Jacob Champion) §
Fix false memory-context-checking warnings in debug builds on 64-bit Windows (David Rowley) 64ビットWindowsのデバッグビルドにおける誤ったメモリコンテキストチェックの警告が修正されました。 (David Rowley) §
Correctly handle <literal>GROUP BY DISTINCT</literal> in PL/pgSQL
assignment statements (Tom Lane)
PL/pgSQLの代入文におけるGROUP BY DISTINCTが正しく処理されるようになりました。
(Tom Lane)
§
The parser failed to record the <literal>DISTINCT</literal> option
in this context, so that the command would act as if it were
plain <literal>GROUP BY</literal>.
パーサは、このコンテキストでDISTINCTオプションを記録できなかったため、コマンドは単純なGROUP BYであるかのように動作していました。
Avoid leaking memory when handling a SQL error within PL/Python (Tom Lane) PL/Python内でSQLエラーを処理する際のメモリリークが回避されました。 (Tom Lane) §
This fixes a session-lifespan memory leak introduced in our previous minor releases. これにより、以前のマイナーリリースで導入されたセッション存続期間中のメモリリークが修正されます。
Fix <application>libpq</application>'s handling of socket-related errors on Windows within its GSSAPI logic (Ning Wu, Tom Lane) WindowsにおけるlibpqのGSSAPIロジック内でのソケット関連エラーの処理が修正されました。 (Ning Wu, Tom Lane) §
The code for encrypting/decrypting transmitted data using GSSAPI did not correctly recognize error conditions on the connection socket, since Windows reports those differently than other platforms. This led to failure to make such connections on Windows. GSSAPIを使用した送信データの暗号化/復号コードは、Windowsが接続ソケットのエラー状態を他のプラットフォームとは異なる方法で報告するため、接続ソケットのエラー状態を正しく認識していませんでした。 これにより、Windowsではこのような接続を確立できませんでした。
Fix dumping of non-inherited not-null constraints on inherited table columns (Dilip Kumar) 継承されたテーブルの列に対する非継承のNOT NULL制約のダンプ処理が修正されました。 (Dilip Kumar) §
<application>pg_dump</application> failed to preserve such constraints when dumping from a pre-v18 server. pg_dumpはv18より前のサーバからダンプするときに、このような制約を保持できませんでした。
Fix <application>pg_dump</application>'s sorting of foreign key constraints (Álvaro Herrera) pg_dumpの外部キー制約のソートが修正されました。 (Álvaro Herrera) §
Ensure consistent ordering of these database objects, as was already done for other object types. 他のオブジェクトタイプで既に行われているように、これらのデータベースオブジェクトの順序の一貫性が確保されます。
Fix assorted errors in the data compression logic in <application>pg_dump</application> and <application>pg_restore</application> (Daniel Gustafsson, Tom Lane) pg_dumpおよびpg_restoreのデータ圧縮ロジックにおける様々なエラーが修正されました。 (Daniel Gustafsson, Tom Lane) § § §
Error checking was missing or incorrect in several places, and there were also portability issues that would manifest on big-endian hardware. These problems had been missed because this code is only used to read compressed TOC files within directory-format dumps. <application>pg_dump</application> never produces such a dump; the case can be reached only by manually compressing the TOC file after the fact, which is a supported thing to do but very uncommon. 複数の箇所でエラーチェックが欠落または間違っていたり、ビッグエンディアンハードウェアで顕在化する移植性の問題もありました。 このコードはディレクトリ形式のダンプ内の圧縮されたTOCファイルを読み取りにのみ使用されるため、これらの問題は見落とされていました。 pg_dumpはこのようなダンプを生成しません。この問題が発生するのは、事後にTOCファイルを手動で圧縮した場合のみです。これはサポートされている方法ですが、非常にまれです。
Fix <application>pgbench</application> to error out cleanly if
a <literal>COPY</literal> operation is started (Anthonin Bonnefoy)
COPY操作が開始された場合にpgbenchが明確にエラーを返すように修正されました。
(Anthonin Bonnefoy)
§
<application>pgbench</application> doesn't intend to support this case, but previously it went into an infinite loop. pgbenchはこのケースをサポートするつもりはありませんが、以前は無限ループに陥っていました。
Fix <application>pgbench</application>'s reporting of multiple errors (Yugo Nagata) pgbenchが複数のエラーを報告する問題が修正されました。 (Yugo Nagata) §
In cases where two successive <function>PQgetResult</function> calls
both fail, <application>pgbench</application> might report the wrong
error message.
連続する2回のPQgetResult呼び出しが両方とも失敗した場合、pgbenchは誤ったエラーメッセージを報告する可能性がありました。
In <application>pgbench</application>, fix faulty assertion about errors in pipeline mode (Yugo Nagata) pgbenchのパイプラインモードでのエラーに関する誤ったアサーションが修正されました。 (Yugo Nagata) §
Fix per-file memory leakage in <application>pg_combinebackup</application> (Tom Lane) pg_combinebackupでのファイルごとのメモリリークが修正されました。 (Tom Lane) §
Ensure that <filename>contrib/pg_buffercache</filename> functions
can be canceled (Satyanarayana Narlapuram, Yuhang Qiu)
contrib/pg_buffercache関数が確実にキャンセルできるようになりました。
(Satyanarayana Narlapuram, Yuhang Qiu)
§
§
Some code paths were capable of running for a long time without checking for interrupts. 一部のコードパスでは、割り込みを確認せずに長時間実行される可能性がありました。
Fix <filename>contrib/pg_prewarm</filename>'s privilege checks for
indexes (Ayush Vatsa, Nathan Bossart)
contrib/pg_prewarmのインデックスに関する権限チェックが修正されました。
(Ayush Vatsa, Nathan Bossart)
§
§
<function>pg_prewarm()</function> requires <literal>SELECT</literal>
privilege on relations to be prewarmed. However, since indexes have
no SQL privileges of their own, this resulted in non-superusers
being unable to prewarm indexes. Instead, check
for <literal>SELECT</literal> privilege on the index's table.
pg_prewarm()はプレウォーム対象のリレーションに対するSELECT権限を必要とします。
しかし、インデックスにはそれ自身のSQL権限がないため、スーパーユーザ以外のユーザがインデックスをプレウォームできない結果になりました。
代わりに、インデックスが属するテーブルに対するSELECT権限のチェックに変更されました。
In <filename>contrib/pg_stat_statements</filename>, avoid
crash when two or more constants are marked as having the same
location in the SQL statement text (Sami Imseih, Dmitry Dolgov)
contrib/pg_stat_statementsにおいて、SQL文のテキスト内で2つ以上の定数が同じ場所にあるとマークされている場合に発生するクラッシュが回避されました。
(Sami Imseih, Dmitry Dolgov)
§
Make <filename>contrib/pgstattuple</filename> more robust about
empty or invalid index pages (Nitin Motiani)
contrib/pgstattupleが空または無効なインデックスページに対してより堅牢になりました。
(Nitin Motiani)
§
Count all-zero pages as free space, and ignore pages that are invalid according to a check of the page's special-space size. The code for btree indexes already counted all-zero pages as free, but the hash and gist code would error out, which has been found to be much less user-friendly. Similarly, make all three cases agree on ignoring corrupted pages rather than throwing errors. すべてゼロのページを空き領域としてカウントし、ページの特別領域サイズチェックで無効と判断されたページは無視します。 btreeインデックスのコードはすでに全ゼロページを空き領域としてカウントしていましたが、ハッシュとGiSTコードはエラーが発生し、ユーザフレンドリーではないことが判明しました。 同様に、3つのケースすべてにおいて、エラーを発生するのではなく、破損したページを無視するようになりました。
Harden our read and write barrier macros to satisfy Clang (Thomas Munro) Clangの要求を満たすように読み書きバリアマクロが強化されました。 (Thomas Munro) §
We supposed that <function>__atomic_thread_fence()</function> is a
sufficient barrier to prevent the C compiler from re-ordering memory
accesses around it, but it appears that that's not true for Clang,
allowing it to generate incorrect code for at least RISC-V, MIPS,
and LoongArch machines. Add explicit compiler barriers to fix that.
__atomic_thread_fence()がCコンパイラによるメモリアクセスの順序変更を防ぐのに十分なバリアであると想定しましたが、Clangではこれが成立せず、少なくともRISC-V、MIPS、LoongArchマシン向けに誤ったコードが生成される可能性がありました。
これを修正するため、明示的なコンパイラバリアが追加されました。
Fix PGXS build infrastructure to support building
NLS <filename>po</filename> files for extensions (Ryo Matsumura)
拡張用のNLS poファイルのビルドをサポートするようにPGXSビルドインフラが修正されました。
(Ryo Matsumura)
§