<title>Release date:</title> リリース日: 2024-11-14
This release contains a variety of fixes from 17.0. For information about new features in major release 17, see <xref linkend="release-17"/>. このリリースは17.0に対し、様々な不具合を修正したものです。 17メジャーリリースにおける新機能については、E.6を参照してください。
A dump/restore is not required for those running 17.X. 17.Xからの移行ではダンプ/リストアは不要です。
However, if you have ever detached a partition from a partitioned table that has a foreign-key reference to another partitioned table, and not dropped the former partition, then you may have catalog and/or data corruption to repair, as detailed in the fifth changelog entry below. 《機械翻訳》ただし、外部パーティションテーブルを持つ分割キーから別の分割リファレンスにテーブルを切り離したことがあり、以前のパーティションを削除していない場合は、次の5番目のchangelogエントリで詳しく説明するように、カタログまたはデータ(あるいはその両方)の破損を修復する必要があります。
Also, in the uncommon case that a
database's <varname>LC_CTYPE</varname> setting is <literal>C</literal>
while its <varname>LC_COLLATE</varname> setting is some other locale,
indexes on textual columns should be reindexed, as described in the
sixth changelog entry below.
《機械翻訳》また、データベースのLC_CTYPE
設定がC
そのLC_COLLATE
設定が他のケースであるのに対して一般的でないロケールでは、以下の6番目のchangelogエントリで説明しているように、テキスト列のインデックスを再インデックスする必要があります。
Ensure cached plans are marked as dependent on the calling role when RLS applies to a non-top-level table reference (Nathan Bossart) 《機械翻訳》保証にキャッシュされたプランは、RLSが非ロール-トップレベルテーブルリファレンスに適用される場合、呼び出しに依存するものとしてマークされます。 (Nathan Bossart) §
If a CTE, subquery, sublink, security invoker view, or coercion projection in a query references a table with row-level security policies, we neglected to mark the resulting plan as potentially dependent on which role is executing it. This could lead to later query executions in the same session using the wrong plan, and then returning or hiding rows that should have been hidden or returned instead. 《機械翻訳》クエリ内のCTE、サブクエリ、サブリンク、セキュリティ起動者ビュー、または強制射影が行-レベルセキュリティポリシーを持つテーブルを参照する場合、結果のプランは、どのロールが実行しているかに依存する可能性があるため、マークを無視しました。 これにより、後でクエリが同じセッションで間違いプランを使用して実行され、非表示または非表示にする必要があった行が返されたり、非表示になったりする可能性があります。
The <productname>PostgreSQL</productname> Project thanks Wolfgang Walther for reporting this problem. (CVE-2024-10976) 《機械翻訳》PostgreSQLプロジェクトは、この問題を報告してくれたWolfgang Waltherに感謝します。 (CVE-2024-10976)。
Make <application>libpq</application> discard error messages received during SSL or GSS protocol negotiation (Jacob Champion) 《機械翻訳》make libpq SSLまたはGSSエラーネゴシエーション中に受信したプロトコルメッセージを廃棄します。 (Jacob Champion) §
An error message received before encryption negotiation is completed might have been injected by a man-in-the-middle, rather than being real server output. Reporting it opens the door to various security hazards; for example, the message might spoof a query result that a careless user could mistake for correct output. The best answer seems to be to discard such data and rely only on <application>libpq</application>'s own report of the connection failure. 《機械翻訳》完成した前暗号化ネゴシエーションを受け取ったエラーメッセージは、実際のサーバの出力ではなく、中間者によって注入された可能性があります。 それを報告することは、さまざまなセキュリティの危険への扉を開きます。 例にとって、メッセージは、不注意なユーザが正しい出力をミスできるようにクエリの結果を偽装する可能性があります。 ベストの答えは、そのようなデータを破棄し、libpq自身のレポートの接続障害のみに依存することのようです。
The <productname>PostgreSQL</productname> Project thanks Jacob Champion for reporting this problem. (CVE-2024-10977) 《機械翻訳》PostgreSQLプロジェクトは、この問題を報告してくれたJacob Championに感謝します。 (CVE-2024-10977)。
Fix unintended interactions between <command>SET SESSION
AUTHORIZATION</command> and <command>SET ROLE</command> (Tom Lane)
《機械翻訳》SET SESSION AUTHORIZATION
とSET ROLE
の間の意図しない相互作用を修正する。
(Tom Lane)
§
§
The SQL standard mandates that <command>SET SESSION
AUTHORIZATION</command> have a side-effect of doing <command>SET
ROLE NONE</command>. Our implementation of that was flawed,
creating more interaction between the two settings than intended.
Notably, rolling back a transaction that had done <command>SET
SESSION AUTHORIZATION</command> would revert <literal>ROLE</literal>
to <literal>NONE</literal> even if that had not been the previous
state, so that the effective user ID might now be different from
what it had been before the transaction. Transiently
setting <varname>session_authorization</varname> in a
function <literal>SET</literal> clause had a similar effect.
A related bug was that if a parallel worker
inspected <literal>current_setting('role')</literal>, it
saw <literal>none</literal> even when it should see something else.
《機械翻訳》標準SQLでは、SETセッションAUTHORIZATION
にはSETロールNONE
を実行するという副作用があると規定されています。
この実装には欠陥があり、2つの設定間に意図したよりも多くの対話が作成されました。
特に、SETセッションAUTHORIZATION
を実行したトランザクションをロールバックすると、NONE
以前の状態ではなかったとしてもに戻り、有効なユーザIDがトランザクションの前とは異なる場合があります。
関数SET
句でsession_authorization
を一時的に設定しても、同様の効果がありました。
関連するバグは、パラレルワーカーがcurrent_setting('role')
を検査した場合、他のものを見るべきときでもnone
を見るというものでした。
ROLE
The <productname>PostgreSQL</productname> Project thanks Tom Lane for reporting this problem. (CVE-2024-10978) 《機械翻訳》PostgreSQLプロジェクトは、この問題を報告してくれたTom Laneに感謝します。 (CVE-2024-10978)。
Prevent trusted PL/Perl code from changing environment variables (Andrew Dunstan, Noah Misch) 《機械翻訳》トラステッドPL/Perlコードが環境変数を変更できないようにします。 (Andrew Dunstan, Noah Misch) § § §
The ability to manipulate process environment variables such
as <literal>PATH</literal> gives an attacker opportunities to
execute arbitrary code. Therefore, <quote>trusted</quote> PLs must
not offer the ability to do that. To fix <literal>plperl</literal>,
replace <varname>%ENV</varname> with a tied hash that rejects any
modification attempt with a warning.
Untrusted <literal>plperlu</literal> retains the ability to change
the environment.
《機械翻訳》PATH
などのプロセス環境変数を操作する機能は、攻撃者に実行の任意のコードへの機会を与えます。
したがって、「トラステッド」PLはそれを行う機能を提供してはなりません。
plperl
を修正するには、%ENV
を、ワーニングによる変更の試みを拒否する結合ハッシュに置き換えます。
信頼できないplperlu
は、環境を変更する機能を保持します。
The <productname>PostgreSQL</productname> Project thanks Coby Abrams for reporting this problem. (CVE-2024-10979) 《機械翻訳》PostgreSQLプロジェクトは、この問題を報告してくれたCoby Abramsに感謝します。 (CVE-2024-10979)。
Fix updates of catalog state for foreign-key constraints when attaching or detaching table partitions (Jehan-Guillaume de Rorthais, Tender Wang, Álvaro Herrera) 《機械翻訳》カタログのパーティションをアタッチまたはアタッチ解除するときの、外部キーの制約に対するテーブルの状態の更新を修正しました。 (Jehan-Guillaume de Rorthais, Tender Wang, Álvaro Herrera) § §
If the referenced table is partitioned, then different catalog
entries are needed for a referencing table that is stand-alone
versus one that is a partition. <literal>ATTACH/DETACH
PARTITION</literal> commands failed to perform this conversion
correctly. In particular, after <literal>DETACH</literal> the now
stand-alone table would be missing foreign-key enforcement triggers,
which could result in the table later containing rows that fail the
foreign-key constraint. A subsequent re-<literal>ATTACH</literal>
could fail with surprising errors, too.
《機械翻訳》被参照テーブルがパーティション化されている場合、スタンドアローンであるカタログテーブルと、パーティションである参照では、異なるエントリが必要になります。
ATTACH/DETACH PARTITION
コマンドはこの変換を正しく実行できませんでした。
特に、現在スタンドアローンであるテーブルの後には、外部キー強制トリガが欠落するため、外部キー制約で失敗した行が後でテーブルに含まれる可能性があります。
その後のre-ATTACH
も、驚くべきエラーで失敗する可能性があります。
DETACH
The way to fix this is to do <command>ALTER TABLE DROP
CONSTRAINT</command> on the now stand-alone table for each faulty
constraint, and then re-add the constraint. If re-adding the
constraint fails, then some erroneous data has crept in. You will
need to manually re-establish consistency between the referencing
and referenced tables, then re-add the constraint.
《機械翻訳》この問題を解決するには、次の手順を実行しますALTER TABLE DROP CONSTRAINT
障害のあるテーブルごとに現在スタンドアローンの制約を追加し、制約を再追加します。
制約の再追加が失敗した場合は、エラーのあるデータが忍び込んでいます。
参照表と被参照表の間に手動で一貫性を再確立し、制約を再追加する必要があります)。
This query can be used to identify broken constraints and construct the commands needed to recreate them: 《機械翻訳》このクエリを使用して、破損した拘束を識別し、それらを再作成するために必要なコマンドをコンストラクトすることができます。
SELECT conrelid::pg_catalog.regclass AS "constrained table", conname AS constraint, confrelid::pg_catalog.regclass AS "references", pg_catalog.format('ALTER TABLE %s DROP CONSTRAINT %I;', conrelid::pg_catalog.regclass, conname) AS "drop", pg_catalog.format('ALTER TABLE %s ADD CONSTRAINT %I %s;', conrelid::pg_catalog.regclass, conname, pg_catalog.pg_get_constraintdef(oid)) AS "add" FROM pg_catalog.pg_constraint c WHERE contype = 'f' AND conparentid = 0 AND (SELECT count(*) FROM pg_catalog.pg_constraint c2 WHERE c2.conparentid = c.oid) <> (SELECT count(*) FROM pg_catalog.pg_inherits i WHERE (i.inhparent = c.conrelid OR i.inhparent = c.confrelid) AND EXISTS (SELECT 1 FROM pg_catalog.pg_partitioned_table WHERE partrelid = i.inhparent));
Since it is possible that one or more of the <literal>ADD
CONSTRAINT</literal> steps will fail, you should save the query's
output in a file and then attempt to perform each step.
《機械翻訳》1つ以上の手順が失敗する可能性があるため、クエリの出力をファイルに保存してから、各ステップを実行してみてください。
ADD CONSTRAINT
Fix test for <literal>C</literal> locale
when <varname>LC_COLLATE</varname> is different
from <varname>LC_CTYPE</varname> (Jeff Davis)
《機械翻訳》LC_COLLATE
がLC_CTYPE
と異なる場合は、C
テストのロケールを修正します。
(Jeff Davis)
§
When using <literal>libc</literal> as the default collation
provider, the test to see if <literal>C</literal> locale is in use
for collation accidentally checked <varname>LC_CTYPE</varname>
not <varname>LC_COLLATE</varname>. This has no impact in the
typical case where those settings are the same, nor if both are
not <literal>C</literal> (nor its alias <literal>POSIX</literal>).
However, if <varname>LC_CTYPE</varname> is <literal>C</literal>
while <varname>LC_COLLATE</varname> is some other locale, wrong
query answers could ensue, and corruption of indexes on strings was
possible. Users of databases with such settings should reindex
affected indexes after installing this update.
The converse case with <varname>LC_COLLATE</varname>
being <literal>C</literal> while <varname>LC_CTYPE</varname> is some
other locale would cause performance degradation, but no actual
errors.
《機械翻訳》libc
デフォルトの照合順序プロバイダとしてを使用している場合、C
ロケールが照合順序に使用されているかどうかを確認するためのは、誤ってLC_CTYPE
ではなくLC_COLLATE
とチェックされます。
これらの設定が同じである一般的なケースにはインパクトがなく、両方がC
(またはその別名POSIX
)でない場合もありません。
ただし、LC_CTYPE
がC
で、LC_COLLATE
が他のロケールである場合、間違いクエリの応答が発生する可能性があり、文字列のインデックスが破損する可能性があります。
このような設定を持つデータベースのユーザは、この更新をインストールした後に、影響を受けるインデックスをインデックス再作成する必要があります。
LC_COLLATE
がC
で、LC_CTYPE
が他のロケールである逆のケースは、パフォーマンスの低下を引き起こしますが、実際のエラーはありません。
Don't use partitionwise joins or grouping if the query's collation for the key column doesn't match the partition key's collation (Jian He, Webbo Han) 《機械翻訳》キーカラムのクエリの照合順序がパーティションキーの照合順序を結合しない場合は、区分ごとの結合またはグループ化を使用しないでください。 マッチ (Jian He, Webbo Han) § §
Such plans could produce incorrect results. 《機械翻訳》このような計画は、誤った結果をもたらす可能性がある。
Avoid planner failure after converting an <literal>IS NULL</literal>
test on a <literal>NOT NULL</literal> column to
constant <literal>FALSE</literal> (Richard Guo)
《機械翻訳》カラムのプランナを定数に変換した後のテストの失敗を回避します。
FALSE
IS NULL
NOT NULL
(Richard Guo)
§
This bug typically led to errors such as <quote>variable not found in subplan target lists</quote>. 《機械翻訳》このバグは通常、「変数はサブプランのターゲットリストにはありません」などのエラーを引き起こしました。
Avoid possible planner crash while inlining a SQL function whose arguments contain certain array-related constructs (Tom Lane, Nathan Bossart) 《機械翻訳》引数に特定のプランナ関連の構成体が含まれるSQLクラッシュをインライン化する際に、配列関数の可能性を回避します。 (Tom Lane, Nathan Bossart) §
Fix possible wrong answers or <quote>wrong varnullingrels</quote>
planner errors for <literal>MERGE ... WHEN NOT MATCHED BY
SOURCE</literal> actions (Dean Rasheed)
《機械翻訳》MERGE ... WHEN NOT MATCHED BY SOURCE
アクションの「間違ったvarnullingrels」プランナエラーを修正します。
(Dean Rasheed)
§
§
Fix possible <quote>could not find pathkey item to sort</quote>
error when the output of a <literal>UNION ALL</literal> member query
needs to be sorted, and the sort column is an expression (Andrei
Lepikhov, Tom Lane)
《機械翻訳》UNION ALL
アイテムエラーニーズの出力がソートされ、ソートカラムがソートである場合に、可能な「メンバから式へのパスキーが見つからなかった」を修正しました。
クエリ
(Andrei Lepikhov, Tom Lane)
§
Fix edge case in B-tree ScalarArrayOp index scans (Peter Geoghegan) 《機械翻訳》BツリーScalarArrayOpインデックススキャンのエッジケースを修正しました。 (Peter Geoghegan) §
When a scrollable cursor with a plan of this kind was backed up to its starting point and then run forward again, wrong answers were possible. 《機械翻訳》この種のカーソルを備えたスクロール可能なプランが開始点まで後退し、再び前進すると、間違いの答えが可能になりました。
Fix assertion failure or confusing error message for <literal>COPY
(<replaceable>query</replaceable>) TO ...</literal>, when
the <replaceable>query</replaceable> is rewritten by a <literal>DO
INSTEAD NOTIFY</literal> rule (Tender Wang, Tom Lane)
《機械翻訳》アサーション
がDO INSTEAD NOTIFY
エラーメッセージによって書き換えられた場合の、COPY (
のクエリ障害または混乱を招くルールを修正しました。
(Tender Wang, Tom Lane)
§
query
) TO ...
Fix validation
of <command>COPY</command>'s <literal>FORCE_NOT_NULL</literal>
and <literal>FORCE_NULL</literal> options (Joel Jacobson)
《機械翻訳》COPY
のFORCE_NOT_NULL
とFORCE_NULL
オプションのバリデーションを修正してください。
(Joel Jacobson)
§
Some incorrect usages are now rejected as they should be. 《機械翻訳》一部の誤った使用法は、本来あるべきように拒否されるようになりました。
Fix server crash when a <function>json_objectagg()</function> call
contains a volatile function (Amit Langote)
《機械翻訳》json_objectagg()
呼び出しに揮発性関数が含まれている場合のサーバクラッシュを修正しました。
(Amit Langote)
§
Fix detection of skewed data during parallel hash join (Thomas Munro) 《機械翻訳》パラレルハッシュ結合時の斜めデータの検出を修正した。 (Thomas Munro) §
After repartitioning the inner side of a hash join because one partition has accumulated too many tuples, we check to see if all the partition's tuples went into the same child partition, which suggests that they all have the same hash value and further repartitioning cannot improve matters. This check malfunctioned in some cases, allowing repeated futile repartitioning which would eventually end in a resource-exhaustion error. 《機械翻訳》1つのハッシュ結合にあまりにも多くのタプルが蓄積されているため、パーティションの内側を再分割した後、すべてのパーティションのタプルが同じ子パーティションに入ったかどうかを確認するためにチェックを行います。 これは、すべてのタプルが同じハッシュ値を持ち、さらに再分割しても改善は問題にならないことを示唆しています。 このチェックは場合によっては誤動作し、無駄な再分割が繰り返され、最終的にはリソース不足のエラーになります。
Avoid crash when <command>ALTER DATABASE SET</command> is used to
set a server parameter that requires search-path-based lookup, such
as <varname>default_text_search_config</varname> (Jeff Davis)
《機械翻訳》ALTER DATABASE SET
を使用して、default_text_search_config
などのクラッシュ-データベースベースのルックアップを必要とするサーバパラメータを設定する場合は、検索を使用しないでください。
パス
(Jeff Davis)
§
Avoid repeated lookups of opclasses and collations while creating a new index on a partitioned table (Tom Lane) 《機械翻訳》パーティション化されたインデックスに新しいテーブルを作成するときは、opclassと照合のルックアップを繰り返さないようにしてください。 (Tom Lane) §
This was problematic mainly because some of the lookups would be
done with a restricted <varname>search_path</varname>, leading to
unexpected failures if the <command>CREATE INDEX</command> command
referenced objects outside <literal>pg_catalog</literal>.
《機械翻訳》これが問題になった主な理由は、検索の一部が制限付きsearch_path
で実行され、CREATE INDEX
コマンド被参照オブジェクトがpg_catalog
.
This fix also prevents comments on the parent partitioned index from being copied to child indexes. 《機械翻訳》この修正により、親のパーティション化されたインデックスに対するコメントが子インデックスにコピーされなくなります。
Add missing dependency from a partitioned table to a non-built-in
access method specified in <literal>CREATE TABLE ... USING</literal>
(Michael Paquier)
《機械翻訳》欠落している依存性を、パーティション化されたテーブルからCREATE TABLE ... USING
.
(Michael Paquier)
§
Dropping the access method should be blocked when a table exists that depends on it, but it was not, allowing subsequent odd behavior. Note that this fix only prevents problems for partitioned tables created after this update. 《機械翻訳》アクセスメソッドに依存するテーブルが存在する場合は、アクセスメソッドの削除をブロックする必要がありますが、依存していなかったため、その後の奇妙な動作が許可されます。 ノートこの修正は、この更新の後に発生するテーブルパーティションの問題を防止するだけです。
Disallow locale names containing non-ASCII characters (Thomas Munro) 《機械翻訳》非ASCII文字を含むロケール名を禁止します。 (Thomas Munro) §
This is only an issue on Windows, as such locale names are not used elsewhere. They are problematic because it's quite unclear what encoding such names are represented in (since the locale itself defines the encoding to use). In recent <productname>PostgreSQL</productname> releases, an abort in the Windows runtime library could occur because of confusion about that. 《機械翻訳》このようなロケール名は他の場所では使用されていないため、これはWindowsだけの問題です。 このような名前がどのエンコーディングで表されているかが非常に不明であるため、問題があります(ロケール自分自身では使用するエンコーディングが定義されているため)。 最近のPostgreSQLリリースでは、Windowsランタイムライブラリの中断が、それに関する混乱のために発生する可能性があります。
Anyone who encounters the new error message should either create a
new duplicated locale with an ASCII-only name using Windows Locale
Builder, or consider using BCP 47-compliant locale names
like <literal>tr-TR</literal>.
《機械翻訳》新しいエラーメッセージに遭遇した場合は、Windowsロケールビルダーを使用してASCIIのみの名前で新しい複製ロケールを作成するか、tr-TR
のようなBCP 47準拠のロケール名を使用することを検討してください。
Fix race condition in committing a serializable transaction (Heikki Linnakangas) 《機械翻訳》競合条件のシリアライザブルトランザクションを確定します。 (Heikki Linnakangas) §
Mis-processing of a recently committed transaction could lead to an assertion failure or a <quote>could not access status of transaction</quote> error. 《機械翻訳》最近コミットされたトランザクションの処理ミスは、アサーションの失敗または「トランザクションのアクセスステータスではできなかった」エラーにつながる可能性がある。
Fix race condition in <command>COMMIT PREPARED</command>
that resulted in orphaned 2PC files (wuchengwen)
《機械翻訳》で競合条件を修正しますCOMMIT PREPARED
これにより、2つのPCファイルが孤立しました。
(wuchengwen)
§
A concurrent <command>PREPARE TRANSACTION</command> could
cause <command>COMMIT PREPARED</command> to not remove the on-disk
two-phase state file for the completed transaction. There was no
immediate ill effect, but a subsequent crash-and-recovery could fail
with <quote>could not access status of transaction</quote>,
requiring manual removal of the orphaned file to restore service.
《機械翻訳》同時実行は、完了したディスクに対してファイル上の2相状態トランザクションを除去しない原因となる可能性があります。
即時の悪影響はありませんでしたが、その後のクラッシュとリカバリは失敗する可能性があり「トランザクションのアクセスステータスはできませんでした」、孤立したファイルをリストアサービスにマニュアル除去する必要があります。
PREPARE TRANSACTION
COMMIT PREPARED
Avoid invalid memory accesses after skipping an invalid toast index
during <command>VACUUM FULL</command> (Tender Wang)
《機械翻訳》無効なメモリインデックスをスキップした後は、無効なTOASTアクセスを回避します。
VACUUM FULL
(Tender Wang)
§
A list tracking yet-to-be-rebuilt indexes was not properly updated in this code path, risking assertion failures or crashes later on. 《機械翻訳》まだ再構築されていないインデックスを追跡しているリストは、このコードパスでは適切に更新されておらず、後でアサーションエラーやクラッシュの危険があります。
Fix ways in which an <quote>in place</quote> catalog update could be lost (Noah Misch) 《機械翻訳》「その場にある」カタログ更新が失われる可能性のある方法を修正します。 (Noah Misch) § § § § § § §
Normal row updates write a new version of the row to preserve
rollback-ability of the transaction. However, certain system
catalog updates are intentionally non-transactional and are done
with an in-place update of the row. These patches fix race
conditions that could cause the effects of an in-place update to be
lost. As an example, it was possible to forget having set
<structname>pg_class</structname>.<structfield>relhasindex</structfield>
to true, preventing updates of the new index and thus causing index
corruption.
《機械翻訳》通常の行の更新では、行のバージョン性を維持するために、トランザクションの新しいロールバックが書き込まれます。
ただし、一部のシステムカタログの更新は意図的にトランザクションではなく、行のインプレース更新を使用して行われます。
これらのパッチは、インプレースの効果が失われる原因となる競合状態を修正します。
例では、pg_class
.relhasindex
を真に設定したことを忘れて、新しいインデックスの更新を妨げ、インデックスの破損を引き起こす可能性がありました。
更新
Reset catalog caches at end of recovery (Noah Misch) 《機械翻訳》リセットカタログはリカバリの端にあります。 (Noah Misch) §
This prevents scenarios wherein an in-place catalog update could be lost due to using stale data from a catalog cache. 《機械翻訳》これにより、カタログキャッシュからの古いカタログを使用することによって、インプレイスデータ更新が失われる可能性があるシナリオが防止される。
Avoid using parallel query while holding off interrupts (Francesco Degrassi, Noah Misch, Tom Lane) 《機械翻訳》パラレルクエリ割り込みを保留している間は、オフを使用しないでください。 (Francesco Degrassi, Noah Misch, Tom Lane) § §
This situation cannot arise normally, but it can be reached with test scenarios such as using a SQL-language function as B-tree support (which would be far too slow for production usage). If it did occur it would result in an indefinite wait. 《機械翻訳》このシチュエーションは正常に発生することはありませんが、B-テストサポートとしてSQL言語の機能を使用するなどのツリーシナリオで到達できます(これは稼働の使用には遅すぎます)。 発生した場合、無期限の待機が発生します。
Ignore not-yet-defined Portals in
the <structname>pg_cursors</structname> view (Tom Lane)
《機械翻訳》pg_cursors
ビューでまだ定義されていないポータルを無視します。
(Tom Lane)
§
It is possible for user-defined code that inspects this view to be called while a new cursor is being set up, and if that happens a null pointer dereference would ensue. Avoid the problem by defining the view to exclude incompletely-set-up cursors. 《機械翻訳》新しいユーザの設定中に、このコードを検査するビュー定義のカーソルが呼び出される可能性があり、その場合はヌルポインタの参照解除が行われます。 この問題を回避するには、設定が不完全なカーソルを除外するようにビューを定義します。
Avoid <quote>unexpected table_index_fetch_tuple call during logical decoding</quote> error while decoding a transaction involving insertion of a column default value (Takeshi Ideriha, Hou Zhijie) 《機械翻訳》table_index_fetch_tuple呼び出しの挿入を伴うトランザクションのデコード中は、「ロジカルデコーディング中の予期しないカラムエラー」を回避する。 デフォルト値 (Takeshi Ideriha, Hou Zhijie) § §
Reduce memory consumption of logical decoding (Masahiko Sawada) 《機械翻訳》ロジカルデコーディングのメモリ使用量の削減 (Masahiko Sawada) §
Use a smaller default block size to store tuple data received during logical replication. This reduces memory wastage, which has been reported to be severe while processing long-running transactions, even leading to out-of-memory failures. 《機械翻訳》論理レプリケーション中に受け入れたデフォルトブロックサイズを格納するには、小さいタプルデータを使用します。これにより、メモリの浪費が削減されます。 これは、長時間実行されるトランザクションの処理中に深刻になり、メモリ外の障害につながることさえあると報告されています。
Fix behavior of stable functions called from
a <command>CALL</command> statement's argument list, when
the <command>CALL</command> is within a
PL/pgSQL <literal>EXCEPTION</literal> block (Tom Lane)
《機械翻訳》CALL
がPL/pgSQL EXCEPTION
安定(stable)内にある場合に、CALL
ステートメントの引数リストから呼び出されるブロック関数の動作を修正しました。
(Tom Lane)
§
As with a similar fix in our previous quarterly releases, this case allowed such functions to be passed the wrong snapshot, causing them to see stale values of rows modified since the start of the outer transaction. 《機械翻訳》以前の四半期リリースでの同様の修正と同様に、このケースでは、そのような関数を間違いsnapshotに渡すことができ、外側のトランザクションのスタート以降に変更された行の古い値が表示されるようになりました。
Parse <application>libpq</application>'s <literal>keepalives</literal>
connection option in the same way as other integer-valued options
(Yuto Sasaki)
《機械翻訳》解析libpqのkeepalives
コネクションオプションは、他の整数価値のあるオプションと同じ方法である。
(Yuto Sasaki)
§
The coding used here rejected trailing whitespace in the option value, unlike other cases. This turns out to be problematic in <application>ecpg</application>'s usage, for example. 《機械翻訳》ここで使用されているコーディングは、他の場合とは異なり、オプション値の末尾の空白を拒否しました。 これは、例のecpgの使用法では問題があることがわかりました。
In <application>ecpglib</application>, fix out-of-bounds read when parsing incorrect datetime input (Bruce Momjian, Pavel Nekrasov) 《機械翻訳》ecpglibで、不正な日付時刻入力をパースしたときに読み込まれる範囲外を修正しました。 (Bruce Momjian, Pavel Nekrasov) §
It was possible to try to read the location just before the start of a constant array. Real-world consequences seem minimal, though. 《機械翻訳》トライには、定数配列のスタートである前だけでも位置を読み取ることができました。 しかし、現実世界での影響は最小限のようです。
Fix <application>psql</application>'s describe commands to again work with pre-9.4 servers (Tom Lane) 《機械翻訳》9.4以前のサーバで再び動作するようにpsqlのdescribeコマンドを修正しました。 (Tom Lane) §
Commands involving display of an ACL (permissions) column failed with very old <productname>PostgreSQL</productname> servers, due to use of a function not present in those versions. 《機械翻訳》ACL(権限)カラムのディスプレイに関連するコマンドが、非常に古いPostgreSQLサーバで失敗しました。 これらのバージョンには存在しない関数を使用しているためです。
Avoid hanging if an interval less than 1ms is specified
in <application>psql</application>'s <literal>\watch</literal>
command (Andrey Borodin, Michael Paquier)
《機械翻訳》インターバルの\watch
より小さいでpsqlコマンド1 msが指定されている場合は、ハングしないようにしてください。
(Andrey Borodin, Michael Paquier)
§
Instead, treat this the same as an interval of zero (no wait between executions). 《機械翻訳》代わりに、これをゼロのインターバルと同じように扱います(処刑の間に待ち時間はありません)。
Fix failure to find replication password
in <filename>~/.pgpass</filename> (Tom Lane)
《機械翻訳》~/.pgpass
.でレプリケーションパスワードが見つからない問題を修正しました。
(Tom Lane)
§
<application>pg_basebackup</application>
and <application>pg_receivewal</application> failed to match an entry
in <filename>~/.pgpass</filename> that
had <literal>replication</literal> in the database name field, if
no <option>-d</option> or <option>--dbname</option> switch was
supplied. This resulted in an unexpected prompt for password.
《機械翻訳》pg_basebackupとpg_receivewalは、エントリのマッチに失敗しました。
そのフィールドは、-d
または--dbname
スイッチが提供されるでなければ、のデータベース名前にありました。
この結果、パスワードに予期しないプロンプトが発生しました。
replication
~/.pgpass
In <application>pg_combinebackup</application>, throw an error if an incremental backup file is present in a directory that is supposed to contain a full backup (Robert Haas) 《機械翻訳》pg_combinebackupでは、エラーを含むはずのディレクトリにインクリメンタルバックアップファイルが存在する場合、フルバックアップをスローします。 (Robert Haas) §
In <application>pg_combinebackup</application>, don't construct filenames containing double slashes (Robert Haas) 《機械翻訳》pg_combinebackupでは、ダブルスラッシュを含むファイル名をコンストラクトしないでください。 (Robert Haas) §
This caused no functional problems, but the duplicate slashes were visible in error messages, which could create confusion. 《機械翻訳》これにより機能的な問題は発生しませんでしたが、重複のメッセージでは可視のスラッシュがエラーであったため、混乱が生じる可能性がありました。
Avoid trying to reindex temporary tables and indexes in <application>vacuumdb</application> and in parallel <application>reindexdb</application> (VaibhaveS, Michael Paquier, Fujii Masao, Nathan Bossart) 《機械翻訳》一時的のテーブルやインデックスをvacuumdbやパラレル(.インデックス再作成reindexdb (VaibhaveS, Michael Paquier, Fujii Masao, Nathan Bossart) § § §
Reindexing other sessions' temporary tables cannot work, but the check to skip them was missing in some code paths, leading to unwanted failures. 《機械翻訳》他のセッションの一時的テーブルのインデックスを再作成することはできませんが、一部のコード経路ではチェックからスキップまでのテーブルが欠落していたため、望ましくない障害が発生しました。
Fix incorrect LLVM-generated code on ARM64 platforms (Thomas Munro, Anthonin Bonnefoy) 《機械翻訳》ARM64プラットフォームで、LLVMによって生成される不正なコードを修正しました。 (Thomas Munro, Anthonin Bonnefoy) §
When using JIT compilation on ARM platforms, the generated code could not support relocation distances exceeding 32 bits, allowing unlucky placement of generated code to cause server crashes on large-memory systems. 《機械翻訳》ARMプラットフォームでJITコンパイルを使用する場合、生成されたコードは32ビットを超えるサポート再配置距離を持つことができず、生成されたコードの配置がうまくいかず、ラージ-メモリシステムでサーバクラッシュが発生する可能性がある。
Fix a few places that assumed that process start time (represented
as a <type>time_t</type>) will fit into a <type>long</type> value
(Max Johnson, Nathan Bossart)
《機械翻訳》プロセススタート時間time_t
として表されるがlong
値に適合すると仮定したいくつかの場所を修正します。
(Max Johnson, Nathan Bossart)
§
On platforms where <type>long</type> is 32 bits (notably Windows),
this coding would fail after Y2038. Most of the failures appear
only cosmetic, but notably <literal>pg_ctl start</literal> would
hang.
《機械翻訳》long
が32ビットのプラットフォーム(特にWindows)では、このコーディングはY2038以降で失敗します。
失敗のほとんどは表面的なものにしか見えませんが、特にpg_ctl start
ハングではそうでしょう。
Update time zone data files to <application>tzdata</application> release 2024b (Tom Lane) 《機械翻訳》更新タイムゾーンデータファイルからtzdataリリース2024b. (Tom Lane) § §
This <application>tzdata</application> release changes the old
System-V-compatibility zone names to duplicate the corresponding
geographic zones; for example <literal>PST8PDT</literal> is now an
alias for <literal>America/Los_Angeles</literal>. The main visible
consequence is that for timestamps before the introduction of
standardized time zones, the zone is considered to represent local
mean solar time for the named location. For example,
in <literal>PST8PDT</literal>, <type>timestamptz</type> input such
as <literal>1801-01-01 00:00</literal> would previously have been
rendered as <literal>1801-01-01 00:00:00-08</literal>, but now it is
rendered as <literal>1801-01-01 00:00:00-07:52:58</literal>.
《機械翻訳》このtzdataリリースは、古いシステム-V-互換性ゾーンの名前を、対応する地理的ゾーンである重複に変更します。
例PST8PDT
は現在、America/Los_Angeles
の別名です。
メイン可視の結果は、タイムスタンプ前(標準化されたタイムゾーンの序文)では、ゾーンは記名的の場所のローカル平均太陽時を表すと考えられます。
例では、PST8PDT
,timestamptz
で1801-01-01 00:00
などの入力は、以前は1801-01-01 00:00:00-08
としてレンダリングされていましたが、現在は1801-01-01 00:00:00-07:52:58
としてレンダリングされています。
Also, historical corrections for Mexico, Mongolia, and Portugal.
Notably, <literal>Asia/Choibalsan</literal> is now an alias
for <literal>Asia/Ulaanbaatar</literal> rather than being a separate
zone, mainly because the differences between those zones were found to
be based on untrustworthy data.
《機械翻訳》また、メキシコ、モンゴル、ポルトガルの歴史的な訂正。
特に、Asia/Choibalsan
は現在、独立したゾーンではなく、Asia/Ulaanbaatar
の別名となっています。
これは主に、これらのゾーン間の違いが信頼できないデータに基づいていることが判明したためです。