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

リリース日: 2008-11-03

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

E.166.1. バージョン8.3.5への移行

8.3.Xからの移行ではダンプ/リストアは不要です。 しかし、8.3.1より前のバージョンからアップグレードする場合は、E.170. リリース8.3.1を参照してください。 またこれまでの8.3.Xリリースを実行している場合は、アップグレード後にすべてのGiSTインデックスをREINDEXすることを勧めます。

E.166.2. 変更点

  • 削除後に間違ったインデックス項目をdeadと印付けたことによるGiSTインデックスの破損を修正しました。(Teodor)

    これによりインデックス検索は存在するはずの行の検索に失敗します。 破損したインデックスはREINDEXを使用して修正することができます。

  • クライアントの符号化方式が翻訳されたエラーメッセージを表すことができない時のバックエンドのクラッシュを修正しました。(Tom)

    以前にも同様の問題に対応しましたが、等価な文字を持たないメッセージ自体が変換されない場合にまだ失敗しました。 今回の修正では、こうした状況を検知した時、翻訳を無効にし、通常のASCIIエラーメッセージを送信します。

  • byteaからXML対応付けにおけるクラッシュの可能性を修正しました。(Michael McMaster)

  • トリガから深い入れ子状態の関数が呼び出された時にクラッシュする可能性を修正しました。(Tom)

  • expression IN (expression-list)問い合わせの最適化を改良しました。(Tom。Robert Haasの発案に基づいた。)

    8.2.xおよび8.3.xでは、右辺に問い合わせ変数が存在する状況を取扱う効率が過去のバージョンより落ちていました。 今回の修正では、こうした状況における振舞いを8.1に戻しました。

  • SELECTFROM、複数行のVALUESリスト、RETURNINGリスト内の関数呼び出し内に存在する場合の、間違ったルール問い合わせの展開を修正しました。(Tom)

    この問題のよくある徴候は、unrecognized node typeというエラーです。

  • GiSTインデックスのIS NULL検索の再スキャン中のアサート失敗を修正しました。(Teodor)

  • ハッシュされた集約計画の再スキャン中のメモリリークを修正しました。(Neil)

  • 新しく定義されたPL/pgSQLトリガ関数が通常の関数として呼び出された場合に報告されるエラーを確実なものにしました。(Tom)

  • CREATE DATABASEがファイルコピーを始める前に強制的にチェックポイントを行います。(Heikki)

    これにより、元のデータベースにおいてファイルが最近削除された場合に失敗する可能性を防止します。

  • ALTER SET TABLESPACEを使ってテーブルを別のテーブル空間に移動する時にrelfilenode番号が衝突する可能性を防止します。(Heikki)

    このコマンドは、先のディレクトリで未使用であることが確認されたファイル名を選ばずに、既存のファイル名を再使用しようとしていました。

  • 1つの問い合わせ項目がテキストの先頭の単語に一致した場合、テキスト検索の間違った見出し生成を修正しました。(Sushant Sinha)

  • --enable-integer-datetimesで構築された場合、ISO以外の日付書式を使用した時の時間間隔値における不適切な秒端数表示を修正しました。(Ron Mayer)

  • エスケープされていた場合であってもILIKEが大文字小文字を区別せずに文字を比較するようにしました。(Andrew)

  • 文のログ処理によってDISCARDが適切に取り扱われることを確実にしました。(Tom)

  • PITR復旧中の前回完了したトランザクション時刻のログ処理の間違いを修正しました。(Tom)

  • 渡されたタプルとタプル記述子が異なる列数を持っていた場合にSPI_getvalueおよびSPI_getbinvalが適切に動作することを確実にしました。(Tom)

    テーブルに列が追加または削除された場合、こうした状況は正常です。 しかしこの2つの関数は適切に扱っていませんでした。 起こり得る唯一の結果は間違ったエラーが示されることです。

  • SessionReplicationRolePGDLLIMPORTとして印をつけました。 このためWindows上のSlonyで使用することができます。(Magnus)

  • libpqgsslibパラメータを使用している時の小さなメモリリークを修正しました。(Magnus)

    パラメータ文字列で使用された領域が接続が閉じた時に開放されていませんでした

  • 必要に応じてlibgssapilibpqにリンクされることを確実にしました。(Markus Schaaf)

  • ecpgCREATE ROLE解析を修正しました。(Michael)

  • pg_ctl restartの最近の破損を修正しました。(Tom)

  • pg_controlがバイナリモードで開かれることを確実にしました。(Itagaki Takahiro)

    pg_controldataおよびpg_resetxlogはこれを正しく行っていませんでした。 このためWindowsで失敗しました。

  • 時間帯データファイルをtzdataリリース2008i(アルゼンチン、ブラジル、モーリシャス、シリアにおける夏時間規則の変更)まで更新しました。