doc PG 19 relnotes: update to current

Bruce Momjian

PostgreSQL 19のリリースノートを現在の状態に更新しました。


refint: Fix segfault in check_foreign_key().

Nathan Bossart

UPDATE文がcheck_foreign_key()をトリガーし、アクションが"cascade"に設定されている場合、参照リレーション内のキー値を変更するUPDATE文が生成されます。新しいキー値がNULLの場合、SPI_getvalue()NULLポインタを返し、それがquote_literal_cstr()に渡されてセグメンテーション違反を引き起こしていました。この修正では、新しいキー値がNULLの場合は引用符を付けずにNULLキーワードを挿入することで、この問題を解決します。


Fix attribute mapping for COPY TO on partitioned tables.

Masahiko Sawada

パーティションテーブルに対するCOPY TOが、タプルをパーティションから読み込み、出力前にルートテーブルのタプルディスクリプタにマッピングする際の属性マッピングが誤っていました。このコミットでは、パーティションからルートテーブルへの属性マップを正しく構築することで、パーティションの属性が対応するルート属性に正しくマッピングされるように修正します。


Prevent access to other sessions' temp tables

Alexander Korotkov

コミットb7b0f3f2724 ("Use streaming I/O in sequential scans")により、シーケンシャルスキャンがread_stream_next_buffer()を経由するようになり、ReadBufferExtended()内のRELATION_IS_OTHER_TEMP()チェックがバイパスされていました。その結果、スーパーユーザーがread-streamパスを通じて他セッションの一時テーブルを読み書きしようとすると、一部の操作が意図せず成功(0行に影響)してしまう可能性がありました。このコミットは、このアクセスを防止します。


Add tests for cross-session temp table access

Alexander Korotkov

他セッションの一時テーブルへのアクセスに関するTAPテストをsrc/test/modules/test_miscに追加しました。このコミットはテストの追加のみであり、バックエンドの動作は変更せず、既存の動作を検証するものです。


postgres_fdw: Fix deparsing of remote column names in stats import.

Etsuro Fujita

build_remattrmap()がリモートサーバーから属性統計を取得するためのリモート列名のリストをデパースする際、各列名をquote_identifier()で個別に引用符付けして配列リテラル構文を使用していました。これにより、列名にシングルクォートやバックスラッシュが含まれている場合にリモートサーバーで構文エラーが発生していました。本修正では、この引用符付けの問題を解決し、クエリが正しく動作するようにします。


Fix jsonpath .split_part() to honor silent mode

Michael PaquierDiscussion: FCF996D0-580B-431C-8DE1-A540C58E4

jsonpathの.split_part()メソッドがフィールド位置引数をnumeric_int4()経由で渡し、直接呼び出されるとハードに失敗する可能性がありました。本コミットでは、エラーコンテキストを持つnumeric_int4_safe()を使用するようにコードを切り替え、オーバーフローやゼロのフィールド位置ケースをサイレントモードで処理できるように修正します。


pgbench: fix verbose error message corruption with multiple threads

Fujii Masao

pgbenchが複数スレッドで動作し、詳細なエラー報告が有効になっている場合(--verbose-errors)、複数のクライアントが並行して詳細なエラーメッセージを構築すると、PQExpBufferがスレッド間で共有され、破損したログ出力が発生する可能性がありました。この修正では、静的バッファの代わりにローカルなPQExpBufferDataを使用することで、並行実行中の詳細なエラーメッセージが正しくなるようにします。


HN ニュース

Postgres minor releases closing 11 CVEs

スコア: 20 / コメント: 0

PostgreSQLのマイナーリリースが公開され、合計11のCVE(共通脆弱性識別子)がクローズされました。ユーザーは最新のセキュリティ修正を適用するために、システムを更新することが強く推奨されます。


Postgres FDW: Pushdown is a negotiation

スコア: 5 / コメント: 0

Postgres FDW (Foreign Data Wrapper)におけるプッシュダウンのメカニズムと、それがどのように「交渉」として機能するかについての記事です。効率的なクエリ実行のために、FDWがリモートサーバーにどの操作を委譲できるかを決定する過程を探ります。


まとめ

本日のPostgreSQLニュースダイジェストは、安定性、セキュリティ、および特定の機能の堅牢性を高めるための重要な修正に焦点を当てていました。特に、他セッションの一時テーブルへの意図しないアクセスを防ぐセキュリティ修正や、jsonpathおよびpgbenchにおけるバグ修正は注目に値します。また、PostgreSQLのマイナーリリースにより11のCVEがクローズされたことが発表され、セキュリティに対する継続的な取り組みが強調されました。


本ダイジェストはHacker News・GitHub・PostgreSQLメーリングリストの情報を元にgeminiで生成しました。