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

リリース日: 2013-04-04

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

E.111.1. バージョン9.0.13への移行

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

しかし、このリリースではGiSTインデックスの管理についていくつかの不具合を修正しています。 このアップデートをインストールした後、以下に記述する条件の1つ以上に該当するGiSTインデックスすべてについて、REINDEXを実行することを推奨します。

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

E.111.2. 変更点

  • サーバのコマンド行スイッチについての安全でない解析を修正しました。(Mitsumasa Kondo、Kyotaro Horiguchi)

    -で始まるデータベース名を含む接続要求に細工をすることで、例えその要求が最終的に拒絶された場合でも、サーバのデータディレクトリ内のファイルを損傷させる、あるいは破壊することが可能でした。(CVE-2013-1899)

  • OpenSSLの乱数の状態を、postmasterのそれぞれの子プロセスでリセットするようにしました。(Marko Kreen)

    contrib/pgcrypto関数によって生成された乱数が、他のデータベースユーザによって比較的推定しやすいという問題が、これにより回避されます。 この危険はpostmasterがssl = onで構成されている時にのみ問題となりますが、ほとんどの接続ではSSL暗号化を利用していません。(CVE-2013-1900)

  • GiSTインデックスで、fuzzyな幾何比較を使うのが適切でないときは、使わないようにしました。(Alexander Korotkov)

    幾何データ型のコアではfuzzyな同値性を利用して比較を行ないますが、gist_box_sameでは正確な比較を行う必要があり、そうしなければ、それを利用するGiSTインデックスは一貫しないものになります。 このアップデートをインストールした後、boxpolygoncirclepoint型の列のすべてのGiSTインデックスについてREINDEXを実行してください。 これらはいずれもgist_box_sameを使っています。

  • 可変長のデータ型、つまりtextbyteabitnumeric型の列でcontrib/btree_gistを使うGiSTインデックスについて誤った範囲の結合と不正なロジックを修正しました。(Tom Lane)

    この誤りにより、存在するキーが検索で見つからないような一貫性のないインデックスが作成されたり、インデックスが無駄に大きくなることがありました。 このアップデートをインストールした後、そのようなインデックスについてREINDEXを実行することを推奨します。

  • 複数列についてのインデックスで、GiSTページを分割するコードの不具合を修正しました。(Tom Lane)

    この誤りにより、存在するキーが検索で見つからないような一貫性のないインデックスが作られることや、検索が非常に非効率になるインデックスが作られることがありました。 このアップデートをインストールした後、複数列についてのGiSTインデックスについてREINDEXを実行することを推奨します。

  • gist_point_consistentで曖昧さを一貫性のある方法で処理するようにしました。(Alexander Korotkov)

    point型の列のGiSTインデックスについてのインデックススキャンは、シーケンシャルスキャンとは異なる結果になる場合がありました。 これは、gist_point_consistentと演算子のコードで、厳密な比較をするか、曖昧な比較をするかについて不一致があったからです。

  • WAL再生におけるバッファのリークを修正しました。(Heikki Linnakangas)

    この不具合により、再生中にincorrect local pin countのエラーが発生し、リカバリができなくなる場合がありました。

  • DELETE RETURNINGでの競合条件を修正しました。(Tom Lane)

    特定の条件下で、DELETE RETURNINGは現在のプロセスがもはや確保していない共有バッファからデータをフェッチすることがありました。 その間に他のプロセスがそのバッファを変更した場合、ゴミの値がRETURNINGの出力となったり、あるいはクラッシュすることもありました。

  • 正規表現のコンパイルで無限ループになる可能性があるのを修正しました。(Tom Lane、Don Porter)

  • 正規表現のコンパイル時にNULLポインタから参照先を取得する可能性があるのを修正しました。(Tom Lane)

  • to_char()で、それが適切な場合、ASCIIのみの大文字変換規則を利用するように修正しました。(Tom Lane)

    これにより、ロケールに依存すべきでないいくつかのテンプレートのパターンにおける誤った動作が修正されます。 トルコ語のロケールでIiが正しく処理されていませんでした。

  • 1999-12-31 24:00:00というタイムスタンプが理由もなく拒絶されていたのを修正しました。(Tom Lane)

  • 単一のトランザクションがUNLISTENを実行し、その後LISTENを実行した場合のロジックの誤りを修正しました。(Tom Lane)

    この場合、セッションは通知イベントを監視すべきですが、実際には全く監視しない状態になっていました。

  • picksplit doesn't support secondary splitという不必要なログメッセージを削除しました。(Josh Hansen、Tom Lane)

    このメッセージは何らかのコードを期待して追加されたように思われますが、そのコードは書かれませんでした。 また、GiSTによる二次的分割のデフォルト処理は実際には非常に良いので、そのコードは今後も書かれないでしょう。 そのため、エンドユーザにブツブツ言うのをやめることにしました。

  • セッションの最後のいくつかのコミットとアボートの件数を統計情報コレクタに送信するのに失敗する可能性があるのを修正しました。(Tom Lane)

  • PL/Perlのspi_prepare()関数のメモリリークを修正しました。(Alex Hunsaker、Tom Lane)

  • pg_dumpallでデータベース名に=が含まれるものを正しく処理できるよう修正しました。(Heikki Linnakangas)

  • pg_dumpが不正な接続文字列が渡された時にクラッシュしないようにしました。(Heikki Linnakangas)

  • pg_dumppg_upgradeで不正なインデックスを無視するようにしました。(Michael Paquier、Bruce Momjian)

    不正なインデックスをダンプするとリストア時に問題が発生する可能性があります。 例えば、ユニーク条件を満たさないテーブルのデータに対してユニーク条件を強制したためにインデックス作成に失敗したような場合です。 また、インデックスの作成が実際にはまだ進行中の場合もありますが、このときはDDLによる更新がまだコミットされていないと考えるのが適当でしょうから、pg_dumpがダンプする必要はありません。 pg_upgradeは不正なインデックスでエラーを起こす代わりに、それをスキップするようになります。

  • contrib/pg_trgmsimilarity()関数が、トライグラムのない文字列について0を返すよう修正しました。(Tom Lane)

    以前は内部でのゼロ割りによりNaNを返していました。

  • 時間帯データファイルをtzdataリリース2013bに更新しました。 チリ、ハイチ、モロッコ、パラグアイ、およびロシアのいくつかの地域での夏時間の変更が含まれます。 また、数多くの場所での歴史的な地域データの修正が含まれます。

    また、時間帯の略称について、ロシアおよび他の地域での以下の最近の変更を反映しました。 CHOTGETIRKTKGTKRATMAGTMAWTMSKNOVTOMSTTKTVLATWSTYAKTYEKTについては、それらの現在の意味に従います。 VOLT (Europe/Volgograd (ヨーロッパ/ヴォルゴグラード))および MIST (Antarctica/Macquarie (南極/マッコーリー島))をデフォルトの短縮名リストに追加しました。