リリース日: 2011-09-26
このリリースは8.4.8に対し、各種の不具合を修正したものです。 8.4メジャーリリースにおける新機能についてはE.147. リリース8.4を参照してください。
8.4.Xからの移行ではダンプ/リストアは不要です。
しかし8.4.8より前のバージョンからアップグレードする場合は、E.139. リリース8.4.8を参照してください。
HOT更新されたか疑わしいタプルのインデックス処理における不具合を修正しました。(Tom Lane)
この不具合のために、システムカタログの再インデックス処理の後インデックスが破損する可能性がありました。 ユーザインデックスには影響しないはずです。
GiSTインデックスページ分割処理における複数の不具合を修正しました。(Heikki Linnakangas)
発生する可能性は小さいのですが、インデックスの破損を招く可能性がありました。
tsvector_concat()
におけるバッファオーバーランの可能性を修正しました。(Tom Lane)
この関数は必要なメモリを少なく見積もり、その結果サーバクラッシュを招く可能性がありました。
xml_recv
において「standalone」パラメータ処理時のクラッシュを修正しました。(Tom Lane)
pg_options_to_table
を値を持たないオプションに対してNULLを返すようにしました。(Tom Lane)
これまではこのような場合にサーバクラッシュしてしまいました。
ANALYZE
およびSJIS-2004符号化変換においてメモリの最後を超えてアクセスする可能性を修正しました。(Noah Misch)
これは非常に可能性が低いサーバクラッシュ状況を修正します。
起動プロセスとbgwriterプロセスの相互作用における断続的なハングを防止します。(Simon Riggs)
これはホットスタンバイ以外の状況でのリカバリに影響します。
relcache初期ファイルの無効化における競合状態を修正しました。(Tom Lane)
新しいバックエンドプロセスが無効な初期ファイルを読み取ろうとするが、データが無効であることを通知するinvalメッセージを取り損なう期間がありました。 この結果カタログアクセスにおいて、起動処理の後の「could not read block 0 in file ...」といった奇妙な失敗が起こります。
GiSTインデックススキャン終了時のメモリリークを修正しました。(Tom Lane)
すでに多くの行を持つテーブルに対して新たなGiSTを基にした排他制約を作成する際の検証など、多くの分割GiSTインデックススキャンを行うコマンドが一時的にこのリークの原因となる大容量のメモリを求めることがあり得ました。
保持可能カーソルとplpgsqlのRETURN NEXT
コマンドをサポートするタプルストアにおける(メモリ膨張をもたらすかもしれない)不正なメモリ計上を修正しました。(Tom Lane)
大規模かつ非可逆なビットマップを構築する時の性能問題を修正しました。(Tom Lane)
一意列の結合選択性推定を修正しました。(Tom Lane)
結合結果のサイズ推定を悪化させる可能性がある、間違ったプランナの発見的手法を修正します。
副選択対象リスト内でのみ出現する、入れ子状のPlaceHolderVar式を修正しました。(Tom Lane)
この間違いの結果、外側の結合の出力がNULLとして不正に現れます。
入れ子状のEXISTS
問い合わせを適切に最適化できます。(Tom Lane)
配列作成、経路作成関数のパッド用バイトを確実にゼロにするように修正しました。(Tom Lane)
これにより、プランナが意味的に等しい定数を等しくないとみなし、最適化を悪化させる一部の状況を防ぎます。
inner-indexscan副計画内のResultノードの開閉を取り扱うようEXPLAIN
を修正しました。(Tom Lane)
この見落としのよくある兆候は「bogus varno」エラーです。
WAL再生を壊すgcc 4.5.0の不具合を回避します。(Tom Lane)
サーバクラッシュ後にコミットされたトランザクションの損失をもたらす可能性がありました。
ビュー内のVALUES
についてのダンプ不具合を修正しました。(Tom Lane)
シーケンスに対するSELECT FOR UPDATE/SHARE
を許しません。(Tom Lane)
この操作は想定通りに動作せず、また、失敗をもたらすことがあり得ました。
つねにpg_class
.reltuples
/relpages
を更新するようにVACUUM
を修正しました。(Tom Lane)
自動バキュームによる、いつテーブルをバキュームするかについての決定をだんだんと悪化させる、いくつかの状況を修正します。
ハッシュテーブルのサイズ計算時の整数オーバーフローから保護します。(Tom Lane)
CLUSTER
がすでに削除されたTOASTデータへアクセスしようとする状況を修正しました。(Tom Lane)
「peer」認証に関する証明書制御メッセージの使用における移植性不具合を修正しました。(Tom Lane)
複数の往復が必要な場合のSSPIログインを修正しました。(Ahmed Shinwari、Magnus Hagander)
この問題の典型的な兆候はSSPIログイン期間の「The function requested is not supported」エラーです。
pg_hba.conf
にhostssl
が含まれているがSSLが無効である場合にエラーを発生します。(Tom Lane)
以前の警告なくこうした行を無視するという動作より、この方がよりユーザフレンドリであると判断しました。
pg_srand48
シード初期化における記述ミスを修正しました。(Andres Freund)
このため、提供されたシードの全ビットを使用すると失敗する可能性がありました。
この関数はほとんどのプラットフォームで使用されていません(srandom
を持たないプラットフォームのみです)ので、想定よりもランダム性が小さいシードによるセキュリティ露見の可能性はとにかく最小だったと思われます。
LIMIT
とOFFSET
値の合計が2^63を超えた場合の整数オーバーフローを防止します。(Heikki Linnakangas)
generate_series()
のint4
版とint8
版にオーバーフロー検査を追加しました。(Robert Haas)
to_char()
における末尾のゼロ除去を修正しました。(Marti Raudsepp)
小数点の後の桁位置がないFM
付きの書式において、小数点より左のゼロが正しく除去できていませんでした。
2^63近辺の入力に対するオーバーフローを防ぐようにpg_size_pretty()
を修正しました。(Tom Lane)
plpgsqlのレコード値におけるtypmodマッチ検査を弱めました。(Tom Lane)
過度に積極的な検査によって、保持しなければならない長さ修飾子が破棄されることがあり得ました。
initdbの間、ロケール名内の引用符を正しく扱います。(Heikki Linnakangas)
この問題は、「People's Republic of China」などの、いくつかのWindowsのロケールにて起こり得ました。
8.3からのアップグレードにおいて、TOASTテーブルのrelfrozenxidsを維持するようにpg_upgradeを修正しました。(Bruce Momjian)
これに失敗すると、アップグレードの後pg_clog
ファイルがあまりに早く削除される可能性がありました。
pg_ctlにおいて、Windowsのサービス登録用の静寂モードをサポートしました。(MauMau)
異なるファイルからCOPY
している時の、psqlのスクリプトファイル行番号の計数処理を修正しました。(Tom Lane)
standard_conforming_strings
に合わせて、pg_restoreの直接データベースモードを修正しました。(Tom Lane)
pg_restoreが、standard_conforming_strings
がon
に設定されたアーカイブファイルからデータベースサーバに直接リストアする時に間違ったコマンドを発行する可能性がありました。
並行pg_restoreをサポートしない状況をよりユーザフレンドリにしました。(Tom Lane)
この変更により、何らかのリストア作業が発生する前にこうした状況を検知し報告することが確実になりました。
libpqのLDAPサービス検索コードにおけるwrite-past-buffer-endとメモリリークを修正しました。(Albe Laurenz)
libpqにおいて、非ブロッキングI/OとSSL接続を使用する場合の失敗を防止します。(Martin Pihlak、Tom Lane)
libpqの接続開始期間のエラーの取扱いを改良しました。(Tom Lane)
具体的には、SSL接続開始期間のfork()
失敗についてのサーバ報告への応答がより健全になりました。
SSL失敗に関するlibpqのエラー報告を改良しました。(Tom Lane)
元々サーバ問い合わせから得られたPGresult
に新しいタプルを追加する時に、クラッシュする可能性を避けるようにPQsetvalue()
を修正しました。(Andrew Chernow)
ecpglibがdouble
値を15桁の精度で書き込むようにしました。(Akira Kurosawa)
ecpglibにおいて、エラー後確実にLC_NUMERIC
の設定を元に戻します。(Michael Meskes)
blowfishの符号付き文字に関する不具合(CVE-2011-2483)に対する上流の修正を適用しました。(Tom Lane)
contrib/pg_crypto
のblowfish暗号化コードは、charが符号付きであるプラットフォーム(ほとんどのプラットフォーム)において間違った結果を生成し、暗号化されたパスワードが本来より脆弱になりました。
contrib/seg
におけるメモリリークを修正しました。(Heikki Linnakangas)
空のインデックスに対して一貫性を持った結果を生成するようにpgstatindex()
を修正しました。(Tom Lane)
perl 5.14を用いたビルドを可能にしました。(Alex Hunsaker)
システム関数の存在を検出するためのconfigureスクリプトの方法を更新しました。(Tom Lane)
8.3と8.2で使用しているautoconfのバージョンは、リンク時の最適化を行うコンパイラによってだまされることがあり得ました。
空白を含むファイルパスでのビルドとインストールに関連した問題を修正しました。(Tom Lane)
タイムゾーンデータファイルをtzdata release 2011iに更新しました。 カナダ、エジプト、ロシア、サモア、南スーダンにおける夏時間規則の変更が含まれています。