他のバージョンの文書 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.173. リリース8.4.1

リリース日: 2009-09-09

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

E.173.1. バージョン8.4.1への移行

8.4.Xからの移行ではダンプ/リストアは不要です。

E.173.2. 変更点

  • アーカイブリカバリの最後におけるWALページヘッダの初期化を修正しました。 (Heikki)

    その後に行うアーカイブリカバリにおいてWAL処理が失敗する可能性がありました。

  • cannot make new WAL entries during recovery(リカバリ中に新しいWAL項目を作成できません)というエラーを修正しました。(Tom)

  • クラッシュ後に無効になった行が参照可能になる問題を修正しました。(Tom)

    この不具合には、サーバクラッシュ後にページステータスビットが正しく設定されない可能性が含まれていました。

  • security-definer関数内部のRESET ROLEおよびRESET SESSION AUTHORIZATIONを不許可としました。(Tom、Heikki)

    これは、security-definer関数内部におけるSET ROLESET SESSION AUTHORIZATIONを不許可にする過去のパッチ(CVE-2007-6600参照)で抜けていたものを補うものです。

  • 既にロードされたロード可能モジュールに対するLOADを何も行わないようにしました。(Tom)

    これまでは、LOADはそのモジュールをアンロードし、再ロードしようとしました。 ですが、これは安全ではなく、かつ、まったく意味がないものでした。

  • ウィンドウ関数PARTITION BYおよびORDER BYの項目を、常に単純な式として扱うようにしました。(Tom)

    8.4.0では、これらのリストは最上位のGROUP BYORDER BYリストで使用される規則にしたがって解析されました。 しかし標準SQLに対して正しくなく、また、巡回する可能性をもたらすものでした。

  • セミ結合の計画作成における複数のエラーを修正しました。(Tom)

    これはINまたはEXISTSが他の結合といっしょに使用される一部の状況において、間違った検索結果を導きました。

  • 外部結合内の副問い合わせに対する行全体参照の扱いを修正しました。(Tom)

    例えばSELECT COUNT(ss.*) FROM ... LEFT JOIN (SELECT ...) ss ON ...です。 ここでss.*は、NULL拡張された結合行ではROW(NULL,NULL,...)として扱われました。 これは単純なNULLと同じではありません。 これを単純なNULLとして扱うようにしました。

  • Windowsの共有メモリ割り当てコードを修正しました。(Tsutomu Yamada、Magnus)

    この不具合がよく報告されるcould not reattach to shared memory(共有メモリに再接続できませんでした)というエラーメッセージを導いていました。

  • plperlにおけるロケール処理を修正しました。(Heikki)

    この不具合により、plperl関数が呼び出された時にサーバのロケール設定が変更され、データ破損が発生してしまうことがありえました。

  • reloptions処理を修正し、確実に、あるオプション設定により他のオプションがデフォルト値に強制されないようにしました。(Itagaki Takahiro)

  • たとえスマートシャットダウンが進行中であったとしても、高速シャットダウン要求が実行中のセッションを強制的に終了させることを確実にしました。(Fujii Masao)

  • GROUP BY問い合わせにおけるarray_agg()のメモリリークを防止します。(Tom)

  • to_char(..., 'TH')'HH'/'HH12'の大文字の序数表現と扱います。(Heikki)

    以前は'th'(小文字)として扱われました。

  • timeおよびtime with time zone入力に対して、EXTRACT(second)およびEXTRACT(milliseconds)の結果に端数部分を含めました。(Tom)

    これは常に浮動小数点型の日付時刻設定では行われていました。 しかし整数型の日付時刻に関するコードは壊れていました。

  • INTERVAL 'x ms'においてxが200万を超え、かつ、整数型の日付時刻が使用された場合のオーバーフローを修正しました。(Alex Hunsaker)

  • インデックススキャンにおけるトースト化された値の処理性能を改良しました。(Tom)

    これは特にPostGISで有用です。

  • commit_delayを無効にする際の打ち間違いを修正しました。(Jeff Janes)

  • サーバがサイレントモードで起動した場合、起動初期のメッセージをpostmaster.logに出力します。(Tom)

    これまではこうしたエラーメッセージは破棄され、デバッグが困難になりました。

  • FAQの翻訳版を削除しました。(Peter)

    現在これはwikiに存在します。 英語版のFAQはすでにwikiに移動していました。

  • postgresql.confが空の場合に、pg_ctlが無限ループに陥らないように修正しました。(Jeff Davis)

  • pg_dump--binary-upgradeモードにおける複数のエラーを修正しました。(Bruce、Tom)

    pg_dump --binary-upgradeはpg_migratorで使用されます。

  • contrib/xml2xslt_process()がパラメータの最大値(20)を正しく扱うように修正しました。(Tom)

  • COPY FROM STDIN中のエラーからの復旧するためのlibpqのコードについて、堅牢性を高めました。(Tom)

  • readlineとeditlineライブラリの両方がインストールされている場合、それらの競合するヘッダファイルがincludeされないようにしました。(Zdenek Kotala)

  • 一部のプラットフォームにおける、division by zero(0除算)ではなくfloating-point exception(浮動小数点例外)を引き起こすgccの不具合を回避しました。(Tom)

  • バングラデシュ、エジプト、モーリシャスにおける夏時間規則の変更のため、タイムゾーンデータファイルをtzdataリリース2009lに更新しました。