リリース日: 2016-03-31
このリリースは9.2.15に対し、各種不具合を修正したものです。 9.2メジャーリリースにおける新機能については、E.102を参照してください。
9.2.Xからの移行ではダンプ/リストアは不要です。
しかしながら、9.2.11よりも前のリリースからアップグレードする場合は、E.91を参照して下さい。
インデックス付けされたROW()
比較におけるNULLインデックス項目の誤った扱いを修正しました。
(Tom Lane)
ROW(a, b) > ROW('x', 'y')
のような行比較を使うインデックス検索は、
b
カラムでNULL項目に到達すると、以降のa
の値に付随した非NULLのb
の値があるのを無視して、そこで止まってしまいました。
前後に適切なfsync()
呼び出しを伴わないファイル名変更による、可能性の低いデータ損失のシナリオを回避するようにしました。
(Michael Paquier, Tomas Vondra, Andres Freund)
サーバのスタートアップ中にpg_subtrans
がXID周回に近い場合を、正しく扱うようになりました。
(Jeff Janes)
localeconv()
の出力文字列を2回以上解放しようとしておきる、稀な場合のクラッシュを修正しました。
(Tom Lane)
ispell
辞書用の接辞ファイルの解析を修正しました。
(Tom Lane)
例えばトルコ語UTF8ロケールのI
など、バイト長が大文字小文字変換で変わる文字が接辞ファイルに何らか含まれていた場合に、動作がおかしくなる可能性がありました。
ispell
辞書ファイルを解析するのにsscanf()
を使わないようにしました。
(Artur Zakirov)
これにより(macOSを含む)FreeBSD派生のプラットフォームにおける移植性の問題を回避します。
古いバージョンのWindows(7SP1/2008R2SP1より前)上でAVX2対応CPUとVisual Studio 2013でビルドされたPostgresでのクラッシュを回避しました。 (Christian Ullrich)
この修正はVisual Studio 2013のランタイムライブラリのバグの回避策ですが、このバグについてマイクロソフトはこのバージョンでは修正しないと宣言しています。
マルチバイト文字を適切に扱えるようにpsqlのタブ補完のロジックを修正しました。 (Kyotaro Horiguchi, Robert Haas)
SECURITY LABEL
についてpsqlのタブ補完を修正しました。
(Tom Lane)
SECURITY LABEL
の後のタブ押下がクラッシュや不適切なキーワード提示を引き起こす可能性がありました。
コマンドラインでの指定が無い場合に、pg_ctlがPGCTLTIMEOUT
環境変数による待機タイムアウトを受け付けるようにしました。
(Noah Misch)
これはpostmasterの起動とシャットダウンに対しグローバルに通常より長いタイムアウトを指定できるようにすることで、遅いビルドファームメンバーのテスト実施を容易にします。
pg_ctlにおけるWindowsサービス状態の誤った検査を修正しました。 (Manuel Mathar)
前のマイナーリリース群では、ログメッセージをWindowsイベントログに送るかどうかを適切に判断するようにpg_ctlを修正しようとしていましたが、逆さに検査していました。
-C
と-M prepared
のオプション組み合わせを適切に扱うようにpgbenchを修正しました。
(Tom Lane)
PL/Perlで、空のPostgres配列を適切に空のPerl配列に変換するようにしました。 (Alex Hunsaker)
PL/Pythonが有効なPython識別子でない関数名をうまく処理できるようにしました。 (Jim Nasby)
contrib/pgstattuple
のpgstatindex()
関数が返す統計の複数の誤りを修正しました。
(Tom Lane)
Perl本体からもはや提供されなくなったため、MSVCビルドでpsed
への依存を除去しました。
(Michael Paquier, Andrew Dunstan)
タイムゾーンデータファイルをtzdata release 2016cに更新しました。 アゼルバイジャン、チリ、ハイチ、パレスチナ、ロシア(アルタイ、アストラハン、キーロフ、サハリン、ウリヤノフスク地域)の夏時間法の変更、加えて、リトアニア、モルドバ、ロシア(カリーニングラード、サマラ、ヴォルゴグラード)の歴史的修正が含まれます。