リリース日: 2008-09-22
このリリースは8.3.3に対し、各種の不具合を修正したものです。 8.3メジャーリリースにおける新機能についてはE.171. リリース8.3を参照してください。
8.3.Xからの移行ではダンプ/リストアは不要です。 しかし、8.3.1より前のバージョンからアップグレードする場合は、E.170. リリース8.3.1を参照してください。
B-tree WALリカバリコード内の不具合を修正しました。(Heikki)
ページ分割操作中にWALが途中で止まった場合にリカバリが失敗しました。
HOTページの切り詰めの際に間違ったカットオフXIDを使用する可能性を修正しました。(Alvaro)
このエラーにより、VACUUM
によって生じるシステムカタログの破壊の危険性が生まれました。
不要タプルの削除が早すぎる可能性です。
カタログの検証中にシステムがMVCC規則に従わないため、実行中のデータベース操作における影響は最小です。
しかし、pg_dumpや他のクライアントプログラムからの出力が過渡的に間違ったものになるかもしれません。
datfrozenxid
の誤計算の可能性を修正しました。(Alvaro)
このエラーにより古いpg_clog
データの削除に失敗するというここ最近の報告が説明できます。
pg_class
が再インデックス付けされた後不正確なHOT更新を修正しました。(Tom)
REINDEX TABLE pg_class
がALTER TABLE RENAME
またはALTER TABLE SET SCHEMA
コマンドによるセッションと同じセッションで続けられた場合pg_class
の破損が発生する可能性がありました。
失った「コンボ cid」状況を修正しました。(Karl Schnaitter)
複数の副トランザクションで削除されたが、すべての副トランザクションがアボートされた場合、このエラーによりトランザクションから不正に不可視の行が生じました。
自動バキュームにより検査中のテーブルが運悪く削除された場合に自動バキュームがクラッシュしないようにしました。(Alvaro)
局所ロックのカウンタを32ビットから64ビットに広げました。(Tom)
これは、かなり長いトランザクションでカウンタがオーバーフローし、想定外の「すでに保持済のロックである」というエラーになるという報告に対応したものです。
GiSTインデックススキャン中に出力タプルが重複する可能性を修正しました。(Teodor)
どちらかのテーブルが変更された場合の外部キー検査問い合わせを初めから作り直しました。(Tom)
これまで8.3は問い合わせの計画を再作成しようとしていましたが、これまでに生成された問い合わせテキストから作業していました。 これは、テーブルや列の名前が変わった場合に失敗することになります。
ビューが単純なUNION ALL
式を含む場合、行われなかった権限検査を修正しました。(Heikki)
被参照テーブルの権限は正しく検査されていましたが、ビュー自体の権限はそうでありませんでした。
INSERT
またはUPDATE
で生成されるタプルが対象のテーブルの現在の行型に一致するか確認するために、エグゼキュータ起動の際の検査を追加しました。(Tom)
このような状況は8.3では起こりえないと考えていますが、過去のリリースでは発生することがあります。 ですので、この検査は用心深いものといえます。
DROP OWNED
中の削除が繰り返される可能性を修正しました。(Tom)
これによりよく「リレーションNNNのキャッシュ検索に失敗した」などのおかしなエラーが発生しました。
XML操作における複数のメモリリークを修正しました。(Kris Jurka, Tom)
対象のデータ型で受け入れられない場合、正しくエラーになるようにxmlserialize()
を修正しました。(Tom)
テキスト検索設定ファイルの解析においてマルチバイト文字を間違って扱う数か所を修正しました。(Tom)
設定ファイル内に存在する特定の文字により常に「符号化方式において無効なバイトシーケンス」という失敗が発生しました。
テキスト検索設定ファイル内で報告されるすべてのエラーに対してファイル名と行番号を含めました。(Tom)
まず時間帯引数を時間帯省略形として解釈し、これまでのように他の方法を取らずに、それが失敗した場合にのみ完全な時間帯名称として解釈するようにAT TIME ZONE
を修正しました。(Tom)
タイムスタンプ入力関数は常にこの順序であいまいな時間帯名の解決を行っていました。
AT TIME ZONE
も同様にすることで一貫性が向上し、そして、8.1で混入された互換性に関する不具合を修正します。
過去のバージョンのAT TIME ZONE
では省略形のみを受け付けていましたので、あいまいな場合に8.0以前と同様な動作をするようになりました。
64ビットプラットフォームで稼働している場合、日付時刻入力関数が正しく整数オーバーフローを検知できるよう修正しました。(Tom)
単位指定がある設定パラメータを表示する際に、単位変換による整数オーバーフローを防ぎます。(Tom)
非常に長いログメッセージをsyslogに書き出す際の性能を向上しました。(Tom)
pg_hba.conf
内のLDAP URLの接尾辞部分に空白文字を許します。(Tom)
SELECT DISTINCT ON
問い合わせに対するカーソルの後方スキャンにおける不具合を修正しました。(Tom)
間違って外部結合の下にIS NULL
検査を押し下げるというプランナの不具合を修正しました。
これは、上位のOR
句のすべての辺において同一のリレーションに対するIS NULL
検査が存在する場合に発生しました。
入れ子状の副問い合わせ式がある場合のプランナの不具合を修正しました。(Tom)
外側の副問い合わせが親問い合わせに直接の依存性がなく、内側の副問い合わせが依存性がある場合、外側の値が新しい親問い合わせの行に対して再計算されなくなる可能性がありました。
プランナが論理型の結果を生成するGROUP BY
式を、式の内容に関係なく、常に2つのグループになると推定することを修正しました。(Tom)
これにより、col
IS NULL
などの特定の論理試験に対して、通常のGROUP BY
推定より非常により良く精度が上がります。
FOR
ループの対象値が複合型のフィールドを含むレコードである場合に失敗しないようにPL/pgSQLを修正しました。(Tom)
Tcl 8.5で正しく動作するようPL/Tclを修正しました。 また、Tcl間でやりとりされるデータの符号化方式についてより注意を払うように修正しました。(Tom)
PQescapeBytea()
の性能を向上しました。(Rudolf Leitgeb)
Windowsにおいて、libpqがシステムコール当たり64kBを超えて送信しないようにすることで、Microsoftの不具合を回避しました。(Magnus)
SET
コマンドで変数を正しく扱うようecpgを修正しました。(Michael)
pg_dumpおよびpg_restoreがSQLコマンドの送信に失敗した後に報告するエラーを改良しました。(Tom)
pg_ctlがrestart
の間正しくpostmasterのコマンドライン引数を保持するように修正しました。(Bruce)
pg_standbyの間違ったWALファイルのカットオフポイント計算を修正しました。(Simon)
時間帯データファイルをtzdataリリース2008f(アルゼンチン、バハマ、ブラジル、モーリシャス、モロッコ、パキスタン、パレスチナ、パラグアイにおける夏時間規則の変更)まで更新しました。