リリース日: 2008-03-17
このリリースは8.2.6の各種不具合を修正したものです。 8.2メジャーリリースにおける新機能についてはE.222を参照してください。
8.2.Xからの移行ではダンプ/リストアは不要です。
しかしながら、後述のWindowsロケール問題の影響がある場合、移行後にテキスト型の列上のインデックスに対しREINDEX
を行わなければならないかもしれません。
異なる文字の組み合わせを等価とみなすWindowsロケールにおける文字列比較を修正しました。(Tom)
この修正はWindowsのみ、かつ、UTF-8データベース符号化方式を使用している場合にのみ当てはまります。
他の状況に対する同じ修正が2年前になされましたが、UTF-8を使用するWindowsでは変更されなかった経路のコードを使用しました。
同一ではない一部の文字列を等価とみなすロケールを使用している場合、既存のテキスト型列上のインデックスを修正するためにREINDEX
を行う必要があるかもしれません。
異なるシステムカタログに対する同時実行VACUUM FULL
の間でのデッドロックの可能性を修正しました。(Tom)
長く存在したLISTEN
/NOTIFY
競合条件を修正しました。(Tom)
まれな場合ですが、NOTIFY
を実行した同時実行中のトランザクションが後でコミットされたことが確認できたため、受け取ることが期待できる場合であっても、LISTEN
を実行したばかりのセッションが注意を受け取らない可能性がありました。
この修正の副作用として、
まだコミットされていないLISTEN
コマンドを実行したトランザクションが、LISTEN
で検索するために選ばなければならないpg_listener
内の行にまったく現れなくなりました。
これまでは現れていました。
この動作についてはどちらの方式も文書化されていませんでしたが、過去の動作に依存するアプリケーションがあるかもしれません。
準備されたトランザクションではLISTEN
とUNLISTEN
は使用できません。(Tom)
これまでは許されていましたが、これを行うと様々な悪影響が発生しました。
特に構成したバックエンドはUNLISTEN
が未コミットである間終了することができませんでした。
準備されたトランザクションでは一時テーブルの削除を行うことはできません。(Heikki)
これは正確には8.1で禁止されていたのですが、8.2では不注意にこの検査が壊れていました。
ハッシュインデックスを使用する問い合わせの間にエラーが発生した場合のまれなクラッシュを修正しました。 (Heikki)
ある方法で集合を返す関数を使用した場合のメモリリークを修正しました。(Neil)
紀元前の2月29日に関する日付時刻値の入力を修正しました。(Tom)
これまでのコードでは、うるう年の判定に間違いがありました。
ALTER OWNER
の一部の構文で発生した「未知のノード型」エラーを修正しました。(Tom)
ロック待ちが中断した時にpg_stat_activity
.waiting
フラグを確実に初期化します。(Tom)
Windows Vistaにおいてプロセス処理の取扱いを修正しました。(Dave, Magnus)
具体的には、この修正により管理者ユーザとしてサーバを起動できるようになります。
時間帯データファイルをtzdataリリース2008aに更新しました(具体的には、最近のチリの変更です)。
時間帯省略形VET
(ベネズエラ)がUTC-4:00ではなくUTC-4:30を意味するように調整しました。(Tom)
pg_ctlが正しくコマンドラインオプションからpostmasterのポート番号を取り出すように修正しました。(Itagaki Takahiro, Tom)
これまでは、pg_ctl start -w
は間違ったポート上のpostmasterに接続しようとし、おかしな起動失敗の報告をもたらしていました。
最近のバージョンのgccにおける、最適化ミスの可能性を防止するために-fwrapv
を使用します。(Tom)
これはgcc 4.3以降でPostgreSQLを構築する場合に必須であることは分かっていました。
INT_MAX
マイクロ秒(約35分)より大きいstatement_timeout
値を正しく強制します。(Tom)
この不具合は--enable-integer-datetimes
で構築した場合にのみ影響します。
一定の折りたたみが副問い合わせを単純化する時の「想定外のPARAM_SUBLINK ID」というプランナエラーを修正しました。(Tom)
IS NULL
およびNOT
式の、制約による除外の取扱いにおける論理エラーを修正しました。(Tom)
プランナは時々、NULL結果の可能性のために除外すべきでないパーティションを除外しました。
「failed to build any N-way joins」というプランナエラーの別の原因を修正しました。(Tom)
これは、結合句が見つかる前に句のない結合を強制しなければならない場合に発生しました。
外部結合の計画作成における間違った定数の伝搬を修正しました。(Tom)
プランナは時々、間違った問い合わせ結果をもたらす、変数が定数と同じであると制約されていると間違った判断を行いました。
ORDER BY
およびGROUP BY
における定数式の表示を修正しました。(Tom)
明示的にキャストされた定数が間違って表示されていました。 これは例えば、ダンプ/再ロード時のビュー定義の破壊をもたらします。
COPY OUT時にNOTICEメッセージを正しく扱うようにlibpqを修正しました。(Tom)
この失敗は、ユーザ定義データ型の出力関数がNOTICEを発行する時にのみ発生することが観察されました。 しかし、他の原因により発生しないことは保証しません。