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

リリース日: 2012-06-04

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

E.116.1. バージョン9.0.8への移行

9.0.Xからの移行ではダンプ/リストアは不要です。

しかし9.0.6より前のバージョンからアップグレードする場合は、E.118. リリース9.0.6を参照してください。

E.116.2. 変更点

  • contrib/pgcryptoのDES crypt()関数における不正なパスワード変換を修正しました。(Solar Designer)

    パスワード文字列に0x80というバイト値が含まれる場合、パスワードの残りが無視され、見かけよりも非常に弱いパスワードになってしまいました。 この修正によって、文字列の残りが適切にDESハッシュ内に含まれるようになります。 したがって、この不具合の影響を受ける、格納済みのパスワード値はすべて一致しなくなりますので、格納済みの値を更新しなければなりません。(CVE-2012-2143)

  • 手続き言語の呼び出しハンドラにおいてSECURITY DEFINERおよびSET属性を無視します。(Tom Lane)

    こうした属性を呼び出しハンドラに与えるとサーバがクラッシュするかもしれません。(CVE-2012-2655)

  • 数字による時間帯オフセットによりUTCから16時間まで離れたtimestampの入力を行うことができます。(Tom Lane)

    一部の歴史的な時間帯はこれまでの上限であった15時間よりも離れたオフセットを持ちます。 このためリロード時にダンプされたデータ値が拒絶される結果になることがありました。

  • 与えられた時刻が現在の時間帯の最後のDST遷移時刻と正確に一致する場合をうまく処理するようにタイムスタンプ変換を修正しました。(Tom Lane)

    長い間これは見落とされていました。 ほとんどのDSTを使用する時間帯では、将来のDST変更が無限に続くものと仮定していましたので、これまで気付きませんでした。

  • textからnameへのキャストおよびcharからnameへのキャストがマルチバイト符号化方式で正しく文字列の切り詰めを行うように修正しました。(Karl Schnaitter)

  • to_tsquery()のメモリコピーにおける不具合を修正しました。(Heikki Linnakangas)

  • txid_current()がホットスタンバイにおいて実行された場合に、正確なエポックを確実に報告します。(Simon Riggs)

  • 副問い合わせ内の外部プレースホルダに関するプランナの扱いを修正しました。(Tom Lane)

    この不具合は、上位の問い合わせの外部結合の内NULLを含む方から由来する変数を参照する副SELECTに影響します。 9.1では、この不具合によって影響を受ける問い合わせはERROR: Upper-level PlaceHolderVar found where not expectedというエラーで失敗します。 しかし9.0と8.4では、副問い合わせに渡る値がNULLであるべき時にNULLになりませんので、警告なく間違っているかもしれない回答が得られます。

  • pg_attributeが非常に大きい場合の低速なセッション起動を修正しました。(Tom Lane)

    pg_attributeshared_buffersの1/4を超える場合、セッション起動時に時々必要となるキャッシュ再構築コードが同期スキャンロジックを開始し、通常より長い期間かかるようになりました。 この問題は、特に多くの新しいセッションが一度に開始する場合に深刻です。

  • 適切な頻度で発生する問い合わせキャンセルに対する連続的なスキャン検査を確実に行います。(Merlin Moncure)

    有効なタプルを含まない連続するページを多くを巡るスキャンは、その間、中断に応答しません。

  • WindowsのPGSemaphoreLock()の実装は、戻る前にImmediateInterruptOKを確実に消去します。(Tom Lane)

    この見落としは、同じ問い合わせの中で後で受け取った問い合わせキャンセル中断が、安全ではない時に受け付けられ、予期しない、悪化した結果をもたらす可能性があったことを意味します。

  • ビューまたはルールを出力する時に行全体の変数を安全に表示します。(Abbas Butt、Tom Lane)

    曖昧な名前を含む(つまりその名前がテーブル名か問い合わせの列名かいずれかになる)境界条件では、曖昧な方法で出力し、ビューまたはルールがダンプとリストアの間で別の解釈がされる危険性がありました。 操作を行わないキャストを付与することで曖昧な状況を防ぎます。

  • 無効な符号化方式に対応するヌルマーカ文字列を正しく扱うようにCOPY FROMを修正しました。(Tom Lane)

    E'\\0'などのヌルマーカ文字列は動作しなければなりませんし、以前は動作していました。 この状況は8.4で壊れました。

  • 自動バキュームのワーカプロセスは確実にスタック長の検査を適切に行います。(Heikki Linnakangas)

    これまでは、自動ANALYZEによって呼び出される関数の中の無限再帰がワーカプロセスをクラッシュさせる可能性がありました。

  • 高負荷時にログの干渉性が失われないようにログ収集機構を修正しました。(Andrew Dunstan)

    これまでは、コレクタは非常に忙しい場合、大規模メッセージの再構成に失敗する可能性がありました。

  • SIGHUPを受信した後にファイルのローテーションを確実に再開するようにログ収集機構を修正しました。 (Tom Lane)

  • GINインデックスに対するWAL再生ロジックを修正し、インデックスがその後に削除された場合でも失敗しないようにしました。(Tom Lane)

  • PL/pgSQLのRETURN NEXTコマンドにおけるメモリリークを修正しました。(Joe Conway)

  • 対象が関数の第一変数であった場合のPL/pgSQLのGET DIAGNOSTICSコマンドを修正しました。(Tom Lane)

  • psqlの拡張表示(\x)モードにおいてメモリの最後にアクセスできない可能性を修正しました。(Peter Eisentraut)

  • データベースに多くのオブジェクトが含まれている場合のpg_dumpの複数の性能問題を修正しました。(Jeff Janes、Tom Lane)

    データベースに多くのスキーマが含まれる場合、多くのオブジェクトが依存関係のあるループにある場合、所有されたシーケンスが多く存在する場合に、pg_dumpが非常に低速になる可能性がありました。

  • デフォルト以外のテーブル空間内に格納されたデータベースがクラスタのデフォルトのテーブル空間内のテーブルを含む状況に対するpg_upgradeを修正しました。(Bruce Momjian)

  • ecpgにおいて、まれに起こるメモリリークとsqlca_t構造体の後の1バイトの上書きを修正しました。(Peter Eisentraut)

  • エラー時に一時データベース接続をリークしないように、contrib/dblinkdblink_exec()を修正しました。(Tom Lane)

  • エラーメッセージ内で正しい接続名を報告するようにcontrib/dblinkを修正しました。(Kyotaro Horiguchi)

  • 多くのラージオブジェクトを削除する時に複数のトランザクションを使用するようにcontrib/vacuumloを修正しました。(Tim Lewis、Robert Haas、Tom Lane)

    この変更により、多くのオブジェクトを削除しなければならない時にmax_locks_per_transactionを超えることを防ぎます。 この動作は新しい-l(制限)オプションで調整することができます。

  • 時間帯データファイルをtzdataリリース2012cに更新しました。 南極、アルメリア、チリ、キューバ、フォークランド諸島、ガザ、ハイチ、ヘブロン、モロッコ、シリア、トケラウ諸島における夏時間の変更、カナダに関する歴史的な変更が含まれます。