リリース日: 2013-04-04
このリリースは8.4.16に対し、各種不具合を修正したものです。 8.4メジャーリリースにおける新機能については、E.147. リリース8.4を参照してください。
8.4.Xからの移行ではダンプ/リストアは不要です。
しかし、このリリースではGiSTインデックスの管理についていくつかの不具合を修正しています。
このアップデートをインストールした後、以下に記述する条件の1つ以上に該当するGiSTインデックスすべてについて、REINDEX
を実行することを推奨します。
しかしながら、8.4.17よりも前のバージョンからアップグレードする場合は、E.137. リリース8.4.10を参照してください。
OpenSSLの乱数の状態を、postmasterのそれぞれの子プロセスでリセットするようにしました。(Marko Kreen)
contrib/pgcrypto
関数によって生成された乱数が、他のデータベースユーザによって比較的推定しやすいという問題が、これにより回避されます。
この危険はpostmasterがssl
= on
で構成されている時にのみ問題となりますが、ほとんどの接続ではSSL暗号化を利用していません。(CVE-2013-1900)
GiSTインデックスで、「fuzzy」な幾何比較を使うのが適切でないときは、使わないようにしました。(Alexander Korotkov)
幾何データ型のコアでは「fuzzy」な同値性を利用して比較を行ないますが、gist_box_same
では正確な比較を行う必要があり、そうしなければ、それを利用するGiSTインデックスは一貫しないものになります。
このアップデートをインストールした後、box
、polygon
、circle
、point
型の列のすべてのGiSTインデックスについてREINDEX
を実行してください。
これらはいずれもgist_box_same
を使っています。
可変長のデータ型、つまりtext
、bytea
、bit
、numeric
型の列でcontrib/btree_gist
を使うGiSTインデックスについて誤った範囲の結合と不正なロジックを修正しました。(Tom Lane)
この誤りにより、存在するキーが検索で見つからないような一貫性のないインデックスが作成されたり、インデックスが無駄に大きくなることがありました。
このアップデートをインストールした後、そのようなインデックスについてREINDEX
を実行することを推奨します。
複数列についてのインデックスで、GiSTページを分割するコードの不具合を修正しました。(Tom Lane)
この誤りにより、存在するキーが検索で見つからないような一貫性のないインデックスが作られることや、検索が非常に非効率になるインデックスが作られることがありました。
このアップデートをインストールした後、複数列についてのGiSTインデックスについてREINDEX
を実行することを推奨します。
正規表現のコンパイルで無限ループになる可能性があるのを修正しました。(Tom Lane、Don Porter)
正規表現のコンパイル時にNULLポインタから参照先を取得する可能性があるのを修正しました。(Tom Lane)
to_char()
で、それが適切な場合、ASCIIのみの大文字変換規則を利用するように修正しました。(Tom Lane)
これにより、ロケールに依存すべきでないいくつかのテンプレートのパターンにおける誤った動作が修正されます。
トルコ語のロケールで「I
」と「i
」が正しく処理されていませんでした。
1999-12-31 24:00:00
というタイムスタンプが理由もなく拒絶されていたのを修正しました。(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_dumpで不正なインデックスを無視するようにしました。(Michael Paquier)
不正なインデックスをダンプするとリストア時に問題が発生する可能性があります。 例えば、ユニーク条件を満たさないテーブルのデータに対してユニーク条件を強制したためにインデックス作成に失敗したような場合です。 また、インデックスの作成が実際にはまだ進行中の場合もありますが、このときはDDLによる更新がまだコミットされていないと考えるのが適当でしょうから、pg_dumpがダンプする必要はありません。
contrib/pg_trgm
のsimilarity()
関数が、トライグラムのない文字列について0を返すよう修正しました。(Tom Lane)
以前は内部でのゼロ割りによりNaN
を返していました。
タイムゾーンデータファイルをtzdataリリース2013bに更新しました。 チリ、ハイチ、モロッコ、パラグアイ、およびロシアのいくつかの地域での夏時間の変更が含まれます。 また、数多くの場所での歴史的な地域データの修正が含まれます。
また、時間帯の略称について、ロシアおよび他の地域での以下の最近の変更を反映しました。
CHOT
、GET
、IRKT
、KGT
、KRAT
、MAGT
、MAWT
、MSK
、NOVT
、OMST
、TKT
、VLAT
、WST
、YAKT
、YEKT
については、それらの現在の意味に従います。
VOLT
(Europe/Volgograd (ヨーロッパ/ヴォルゴグラード))および MIST
(Antarctica/Macquarie (南極/マッコーリー島))をデフォルトの短縮名リストに追加しました。