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

リリース日: 2016-05-12

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

E.58.1. バージョン9.2.17への移行

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

また、9.2.11よりも前のリリースからアップグレードする場合は、E.64. リリース9.2.11を参照して下さい。

E.58.2. 変更点

  • OpenSSLを呼び出す前にそのエラーキューを、既に消去されているとみなすのではなく、消去します。また、必ず後に消去しておくようにします。 (Peter Geoghegan, Dave Vitek, Peter Eisentraut)

    この変更は、一つのプロセスの中でOpenSSLを使った複数の接続があって、含まれるコードの全てがエラーキューを消去するとき同一規則に従っていない場合の問題を防ぎます。 特に、クライアントアプリケーションがPHPやPython、RubyのOpenSSLラッパーを使ったSSL接続と同時に、libpqでSSL接続を使っているときに、障害が報告されました。 拡張モジュールが外にむけたSSL接続をするのであれば、同様にサーバでも似た問題が起こる可能性があります。

  • 左外部結合の右手側に入っている完全外部結合でのプランナのエラーfailed to build any N-way joins (N個立ての結合の構築にいずれも失敗しました)を修正しました。 (Tom Lane)

  • 複数階層のネステッドループプランにおける等価クラス検査の誤った扱いを修正しました。 (Tom Lane)

    X.X = Y.Y = Z.Zのような、3つ以上からなる変数の等価クラスが与えられると、プランナが全ての変数が実際に等しいようにするために必要な検査の一部を怠る可能性があり、出力される行がWHERE句を満たさない結合をもたらしました。 さまざまな理由のため、誤ったプランは実際には滅多に選択されません。 そのため、このバグは長い間気づかれずにきました。

  • to_timestamp()の書式コードTHthY,YYYの誤った振る舞いを修正しました。 (Tom Lane)

    これにより、入力文字列の末尾を超えて進み、次の書式コードでゴミが読まれるおそれがありました。

  • value operator ANY (array)という構造のarray引数が副問い合わせである場合のルールとビューのダンプを修正しました。 (Tom Lane)

  • PGCTLTIMEOUT環境変数が設定されているなら、pg_regressがその値による起動タイムアウトを適用するようにしました。 (Tom Lane)

    これは、最近pg_ctlに追加された振る舞いとの一貫性のためで、 遅いマシンでの自動テストを容易にします。

  • 一つの演算子クラスだけを含む演算子族の拡張への所属を正しくリストアできるようにpg_upgradeを修正しました。 (Tom Lane)

    このような場合、演算子族は新しいデータベースにリストアされますが、もはや拡張の一部として記されませんでした。 これは直ちには悪影響はありませんが、後にpg_dumpがリストア時に(無害な)エラーを引き起こす出力を吐き出す原因となりました。

  • 9.4のメモリバリアコードの変更を9.2と9.3にバックポートしました。 (Tom Lane)

    この変更は本来9.4より前のブランチでは必要ありませんでしたが、バリアコードが正しく動くようにする修正を最近、より前のバージョンにパッチとして適用しました。 (iccを使用した時の)IA64、HPPA、Alphaプラットフォームのみに影響します。

  • --disable-spinlocksと設定されたビルドで、使用されるSysVセマフォの数を減らしました。 (Tom Lane)

  • NetBSDのライブラリ関数との衝突を避けるため、内部関数strtoi()の名前をstrtoint()に変えました。 (Thomas Munro)

  • Windowsにおけるシステムコールbind()listen()からのエラー報告を修正しました。 (Tom Lane)

  • Microsoft Visual Studioでビルドするときのコンパイラ出力の冗長さを減らしました。 (Christian Ullrich)

  • WindowsのFormatMessage()関数の安全でない可能性のある使用を回避しました。 (Christian Ullrich)

    適切にFORMAT_MESSAGE_IGNORE_INSERTSフラグを使用します。 これに関連した既知の未修整バグはありませんが、注意深くすることは良い考えと思われます。

  • タイムゾーンデータファイルをtzdata release 2016dに更新しました。 ロシア、ベネズエラの夏時間法の変更、当該地域は今では隣接した地域とは異なるタイムゾーンの歴史を持っているという事実を反映させた新しい地域名Europe/KirovAsia/Tomskが含まれます。