2010-12-16
このリリースは9.0.1に対し、各種の不具合を修正したものです。 9.0メジャーリリースにおける新機能についてはE.97. リリース9.0を参照してください。
9.0.Xからの移行ではダンプ/リストアは不要です。
Linuxにてwal_sync_method
のデフォルトが強制的にfdatasync
になるようにしました。(Tom Lane、Marti Raudsepp)
長い間、Linuxでのデフォルトは実質fdatasync
でした。
しかし最近のカーネルの変更により、PostgreSQLは代わりにopen_datasync
を選択するようになりました。
この選択は性能向上をまったくもたらさず、特定のシステム、特にdata=journal
マウントオプションを使用したext4
では、完全に失敗してしまいます。
ホットスタンバイの再生中の「too many KnownAssignedXids」エラーを修正しました。(Heikki Linnakangas)
ホットスタンバイ中のロック獲得における競合条件を修正しました。(Simon Riggs)
ホットスタンバイ中の不要な競合を防止しました。(Simon Riggs)
これは、本当は競合していないが、再生がスタンバイ問い合わせと競合するとみなしてしまう(そのため再生遅延や問い合わせキャンセルの可能性が発生する)一部の状況を修正します。
GINインデックスに対するWAL再生ロジックにおける分類不具合を修正しました。(Tom Lane)
これは「bad buffer id: 0」という失敗、あるいはレプリケーション中のインデックス内容の破損という結果になり得ました。
開始チェックポイントWALレコードが再実行時点と同じWALセグメント内に存在しない場合のベースバックアップからのリカバリを修正しました。(Jeff Davis)
マスターデータベースクラスタの作成直後にストリーミングレプリケーションが有効になった時の境界値不具合を修正しました。(Heikki Linnakangas)
複数のワーカが有効なまま長時間残った場合の自動バキュームの永続的な速度低下を修正しました。(Tom Lane)
多くのテーブルを処理している場合、自動バキュームワーカのvacuum_cost_limit
の効果は、極端な速度低下をもたらすほぼゼロまで落ちることがあり得ました。
自動バキュームランチャの長期のメモリリークを修正しました。(Alvaro Herrera)
トランザクションの外部から差し迫るトランザクション周回条件の通知試行の際の失敗を防止します。(Tom Lane)
このミスによりデータベース起動処理が失敗するため、トランザクションの周回が差し迫った後のリカバリを妨害していました。
IA64
においてレジスタスタックのオーバーラン検知サポートを追加しました。(Tom Lane)
IA64
アーキテクチャには2つのハードウェアスタックがあります。
スタックオーバーラン失敗を完全に防ぐには両方を検査しなければなりません。
copyObject()
におけるスタックオーバーフロー検査を追加しました。(Tom Lane)
非常に複雑な問い合わせが与えられた場合のスタックオーバーフローのため、特定のコードパスがクラッシュする可能性がありました。
一時GiSTインデックスにおけるページ分割検知を修正しました。(Heikki Linnakangas)
例えば挿入が行われた時に一時インデックスをスキャンする開いているカーソルがあると、そのインデックスで「同時実行」ページ分割を持つことができます。 GiSTではこの状況の検知に失敗していました。 このためGiSTはそのカーソルの実行が続く間、間違った結果をもたらすことがありました。
接続処理の初期段階における検査エラーを修正しました。(Tom Lane)
子プロセスがあまりに多くある場合のこの検査が一部の状況で飛ばされていました。 このため固定長配列に新しい子プロセスを追加しようとする時にpostmasterのクラッシュする可能性がありました。
ウィンドウ関数の効率を向上しました。(Tom Lane)
多数のタプルを前もって読み取る必要があるが、work_mem
がそれらすべてをメモリ内に保持できるほど大きいという、特定の状況では予期しないほど低速になりました。
特にpercent_rank()
、cume_dist()
、ntile()
ではこの問題が当てはまります。
複雑なインデックス式をANALYZE
する時のメモリリークを防ぎます。(Tom Lane)
行全体のVarを使用するインデックスがそのテーブルに依存し続けることを確実にしました。(Tom Lane)
create index i on t (foo(t.*))
のように宣言されたインデックスはそのテーブルが削除された時に自動的に削除されませんでした。
DROP OWNED BY
において、あるユーザに属している外部データラッパ/サーバ権限について失われていたサポートを追加しました。(Heikki Linnakangas)
複数のOUT
パラメータを持つSQL関数を「インライン」化しません。(Tom Lane)
結果の想定行型に関する情報が存在しないためにクラッシュする可能性を防ぎます。
引数リストにインライン化可能なユーザ関数への参照を含む、集合を返す関数をインライン化する時のクラッシュを修正しました。(Tom Lane)
ORDER BY
、LIMIT
、FOR UPDATE
、WITH
がINSERT ... VALUES
のVALUES
部に付いた場合の動作を正しくしました。(Tom Lane)
OFF
キーワードを未予約にしました。(Heikki Linnakangas)
これは、PL/pgSQLにおいてoff
を変数名として使用する場合の問題を防ぎます。
これは9.0より前では動作していましたが、PL/pgSQLがコアの予約語を予約済みとして扱うようになったため、動作しなくなっていました。
COALESCE()
式の定数折りたたみを修正しました。(Tom Lane)
プランナは時々、実際には決して達しない副式の評価を行い、想定外のエラーをもたらす可能性がありました。
行全体のVarの比較において「could not find pathkey item to sort」というプランナ失敗を修正しました。(Tom Lane)
GSSAPIサポート付きでコンパイルされたpostmasterで、接続受け入れ(accept()
またはその後すぐになされる呼び出しのいずれか)が失敗した時のpostmasterのクラッシュを修正しました。(Alexander Chernikov)
RADIUS認証サーバからの無効な応答パケットを受け取った後に再試行します。(Magnus Hagander)
これは危険性が低いサービス不能状態の可能性を修正します。
log_temp_files
が有効である時の一時ファイルの削除失敗を修正しました。(Tom Lane)
ログメッセージ出力試行時にエラーが起きた場合、削除が行われませんでした。 このため一時ファイルが累積してしまいました。
InhRelation
ノードに関する機能性出力を追加しました。(Tom Lane)
これによりdebug_print_parse
が有効な場合に特定種類の問い合わせが行われた場合の失敗を防止します。
点から水平線分への距離計算を正しく修正しました。(Tom Lane)
この不具合は様々な複数の幾何距離測定演算子に影響します。
ecpgにおけるトランザクション状態の計算を正しく修正しました。(Itagaki Takahiro)
psqlのUnicodeエスケープサポートのエラーを修正しました。(Tom Lane)
アーカイブに多くのラージオブジェクトがある場合の並行pg_restoreを高速化しました。(Tom Lane)
再帰もしくはエラー修復状態にならない「単純な」式についてのPL/pgSQLの扱いを修正しました。(Tom Lane)
存在しない列に関するPL/pgSQLのエラー報告処理を修正しました。(Tom Lane)
9.0では、「record foo has no field bar」の方が適切である場合に時々「missing FROM-clause entry for table foo」と報告していました。
PL/Pythonがタプルフィールドに代入する際にtypmod(長さや精度に関する制限)を尊重するように修正しました。(Tom Lane)
これは8.4からの退行を修正します。
PL/Pythonの集合を返す関数の扱いを修正しました。(Jan Urbanski)
集合結果を生成するイテレータ内でSPI関数呼び出しが失敗しました。
contrib/cube
のGiST picksplitアルゴリズムの不具合を修正しました。(Alexander Korotkov)
cube
列上のGiSTインデックスにおいて、実際に不正確な結果になることはありませんが、このため相当効率性が劣化する可能性がありました。
こうしたインデックスがある場合、この更新をインストールした後にREINDEX
することを検討してください。
contrib/dblink
内で、新しい接続を作成する時を除き、「identifier will be truncated」注意を出力しないようにしました。(Itagaki Takahiro)
contrib/pgcrypto
において公開キーがない場合にコアダンプする可能性を修正しました。(Marti Raudsepp)
contrib/pg_upgrade
におけるバッファオーバーランを修正しました。(Hernan Gonzalez)
contrib/xml2
のXPath問い合わせ関数におけるメモリリークを修正しました。(Tom Lane)
時間帯データファイルをtzdata release 2010oに更新しました。 フィジー、サモアにおける夏時間規則の変更、香港の歴史的な修正が含まれています。