★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 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.168. リリース8.4.6

リリース日: 2010-12-16

このリリースは8.4.5に対し、各種の不具合を修正したものです。 8.4メジャーリリースにおける新機能についてはE.174を参照してください。

E.168.1. バージョン8.4.6への移行

8.4.Xからの移行ではダンプ/リストアは不要です。 しかしながら、8.4.2以前のバージョンから更新する場合はE.172を参照してください。

E.168.2. 変更点

  • Linuxにてwal_sync_methodのデフォルトが強制的にfdatasyncになるようにしました。(Tom Lane、Marti Raudsepp)

    長い間、Linuxでのデフォルトは実質fdatasyncでした。 しかし最近のカーネルの変更により、PostgreSQLは代わりにopen_datasyncを選択するようになりました。 この選択は性能向上をまったくもたらさず、特定のシステム、特にdata=journalマウントオプションを使用したext4では、完全に失敗してしまいます。

  • GINインデックスに対するWAL再生ロジックにおける分類不具合を修正しました。(Tom Lane)

    これはbad buffer id: 0という失敗、あるいはレプリケーション中のインデックス内容の破損という結果になり得ました。

  • 開始チェックポイントWALレコードが再実行時点と同じWALセグメント内に存在しない場合のベースバックアップからのリカバリを修正しました。(Jeff Davis)

  • 複数のワーカが有効なまま長時間残った場合の自動バキュームの永続的な速度低下を修正しました。(Tom Lane)

    多くのテーブルを処理している場合、自動バキュームワーカのvacuum_cost_limitの効果は、極端な速度低下をもたらすほぼゼロまで落ちることがあり得ました。

  • IA64においてレジスタスタックのオーバーラン検知サポートを追加しました。(Tom Lane)

    IA64アーキテクチャには2つのハードウェアスタックがあります。 スタックオーバーラン失敗を完全に防ぐには両方を検査しなければなりません。

  • copyObject()におけるスタックオーバーフロー検査を追加しました。(Tom Lane)

    非常に複雑な問い合わせが与えられた場合のスタックオーバーフローのため、特定のコードパスがクラッシュする可能性がありました。

  • 一時GiSTインデックスにおけるページ分割検知を修正しました。(Heikki Linnakangas)

    例えば挿入が行われた時に一時インデックスをスキャンする開いているカーソルがあると、そのインデックスで同時実行ページ分割を持つことができます。 GiSTではこの状況の検知に失敗していました。 このためGiSTはそのカーソルの実行が続く間、間違った結果をもたらすことがありました。

  • 接続処理の初期段階における検査エラーを修正しました。(Tom Lane)

    子プロセスがあまりに多くある場合のこの検査が一部の状況で飛ばされていました。 このため固定長配列に新しい子プロセスを追加しようとする時にpostmasterのクラッシュする可能性がありました。

  • ウィンドウ関数の効率を向上しました。(Tom Lane)

    多数のタプルを前もって読み取る必要があるが、work_memがそれらすべてをメモリ内に保持できるほど大きいという、特定の状況では予期ないほど低速になりました。 特にpercent_rank()cume_dist()ntile()ではこの問題が当てはまります。

  • 複雑なインデックス式をANALYZEする時のメモリリークを防ぎます。(Tom Lane)

  • 行全体のVarを使用するインデックスがそのテーブルに依存し続けることを確実にしました。(Tom Lane)

    create index i on t (foo(t.*))のように宣言されたインデックスはそのテーブルが削除された時に自動的に削除されませんでした。

  • 複数のOUTパラメータを持つSQL関数をインライン化しません。(Tom Lane)

    結果の想定行型に関する情報が存在しないためにクラッシュする可能性を防ぎます。

  • ORDER BYLIMITFOR UPDATEWITHINSERT ... VALUESVALUES部に付いた場合の動作を正しくしました。(Tom Lane)

  • COALESCE()式の定数折りたたみを修正しました。(Tom Lane)

    プランナは時々、実際には決して達しない副式の評価を行い、想定外のエラーをもたらす可能性がありました。

  • GSSAPIサポート付きでコンパイルされたpostmasterで、接続受け入れ(accept()またはその後すぐになされる呼び出しのいずれか)が失敗した時のpostmasterのクラッシュを修正しました。(Alexander Chernikov)

  • log_temp_filesが有効である時の一時ファイルの削除失敗を修正しました。(Tom Lane)

    ログメッセージ出力試行時にエラーが起きた場合、削除が行われませんでした。 このため一時ファイルが累積してしまいました。

  • InhRelationノードに関する機能性出力を追加しました。(Tom Lane)

    これによりdebug_print_parseが有効な場合に特定種類の問い合わせが行われた場合の失敗を防止します。

  • 点から水平線分への距離計算を正しく修正しました。(Tom Lane)

    この不具合は様々な複数の幾何距離測定演算子に影響します。

  • ecpgにおけるトランザクション状態の計算を正しく修正しました。(Itagaki Takahiro)

  • 再帰もしくはエラー修復状態にならない単純な式についてのPL/pgSQLの扱いを修正しました。(Tom Lane)

  • PL/Pythonの集合を返す関数の扱いを修正しました。(Jan Urbanski)

    集合結果を生成するイテレータ内でSPI関数呼び出しが失敗しました。

  • contrib/cubeのGiST picksplitアルゴリズムの不具合を修正しました。(Alexander Korotkov)

    cube列上のGiSTインデックスにおいて、実際に不正確な結果になることはありませんが、このため相当効率性が劣化する可能性がありました。 こうしたインデックスがある場合、この更新をインストールした後にREINDEXすることを検討してください。

  • contrib/dblink内で、新しい接続を作成する時を除き、identifier will be truncated注意を出力しないようにしました。(Itagaki Takahiro)

  • contrib/pgcryptoにおいて公開キーがない場合にコアダンプする可能性を修正しました。(Marti Raudsepp)

  • contrib/xml2のXPath問い合わせ関数におけるメモリリークを修正しました。(Tom Lane)

  • タイムゾーンデータファイルをtzdata release 2010oに更新しました。 フィジー、サモアにおける夏時間規則の変更、香港の歴史的な修正が含まれています。