リリース日: 2013-10-10
このリリースは9.1.9に対し、各種不具合を修正したものです。 9.1メジャーリリースにおける新機能については、E.100. リリース9.1を参照して下さい。
9.1.Xからの移行ではダンプ/リストアは不要です。
しかしながら、9.1.6よりも前のリリースからアップグレードする場合は、E.91. リリース9.1.9を参照して下さい。
識別子を大文字に変換しようとする際に生じるマルチバイト文字の破損を防ぐようにしました。(Andrew Dunstan)
シングルバイトのサーバエンコーディングを使用している場合のみ、PostgreSQLが非ASCII文字の大文字変換を行います。
wal_level = hot_standby
のときにバックグラウンドライターがチェックポイントでメモリリークを起こすのを修正しました。(Naoya Anzai)
lo_open()
に失敗した時にメモリリークを起こすのを修正しました。(Heikki Linnakangas)
work_mem
が24GBを超えるメモリを使っている時に、メモリを必要以上に取得する不具合を修正しました。(Stephen Frost)
シリアライザブルなスナップショットについて修正しました。(Kevin Grittner、Heikki Linnakangas)
SSLを使うときの、libpqのデッドロックの不具合を修正しました。(Stephen Frost)
スレッドを使ったlibpqのアプリケーションで、SSLの状態が壊れる可能性があるのを修正しました。(Nick Phillips、Stephen Frost)
多数のNULL値がある論理値型の列について、行の見積りの計算を正しくしました。(Andrew Gierth)
以前のバージョンでは、プランのコストの見積りにおいて、col IS NOT TRUE
およびcol IS NOT FALSE
のような条件でNULL値を正しく考慮していませんでした。
WHERE
句を、安全でないUNION/INTERSECT
の副問い合わせに押し込まないようにしました。(Tom Lane)
選択リストに集合を返す関数、または、揮発性関数を持つUNION
もしくは、 INTERSECT
の副問い合わせが適切に最適化されず、実行時エラーや誤った実行結果を引き起こす可能性がありました。
まれに発生する「failed to locate grouping columns」というプランナのエラーを修正しました。(Tom Lane)
外部テーブルに削除済みの列があるときについて、pg_dumpを修正しました。(Andrew Dunstan)
以前のバージョンでは、このような場合にpg_upgradeのエラーを起こしていました。
pg_dumpが拡張に関連したルールとイベントトリガーを処理する順序を変更しました。(Joe Conway)
pg_dump -t
あるいは-n
によって指定された場合、拡張テーブルを強制的にダンプするようにしました。(Joe Conway)
ビューをダンプするプログラムで、参照されるテーブルでの列の削除を扱う挙動を改善しました。(Tom Lane)
pg_restore -l
でディレクトリアーカイブを指定したときに、正しいフォーマット名を表示するように修正しました。(Fujii Masao)
UNIQUE
およびPRIMARY KEY
の構文で作成されたインデックスのコメントを正しく記録するようにしました。(Andres Freund)
これにより、pg_restoreの並列実行に失敗するのが修正されます。
スイッチオーバの前にWALファイルの転送を保証するようにしました。(Fujii Masao)
以前のバージョンでは、すべてのWALファイルがスタンバイで再生されるよりも前に、ストリーミングレプリケーションの接続が閉じられる可能性がありました。
リカバリ中のWALセグメントのタイムラインの処理を修正しました。(Mitsumasa Kondo、Heikki Linnakangas)
スタンバイサーバでのリカバリ中の、WALファイルの再利用が予期しないリカバリを行い、データ損失に繋がる可能性がありました。
REINDEX TABLE
およびREINDEX DATABASE
が制約を適切に再検証し、無効にされたインデックスを有効にするよう修正しました。(Noah Misch)
REINDEX INDEX
はこれまでも正しく動作していました。
CREATE INDEX CONCURRENTLY
を同時に実行している時にデッドロックが起きる可能性があるのを修正しました。(Tom Lane)
regexp_matches()
の長さゼロのマッチの処理について修正しました。(Jeevan Chalke)
以前のバージョンでは、'^'のような長さゼロのマッチが、非常に多くのマッチを返すことがありました。
非常に複雑な正規表現でクラッシュする問題を修正しました。(Heikki Linnakangas)
正規表現の後方参照でgreedyでない量指定子(quantifier)を使った時にマッチできない問題を修正しました。(Jeevan Chalke)
CREATE FUNCTION
で関数本体の検査が有効になっていなければ、SET
変数について検査しないようにしました。(Tom Lane)
ALTER DEFAULT PRIVILEGES
がスキーマについて、CREATE権限がなくても動作するようにしました。(Tom Lane)
問い合わせで使われるキーワードの制限を緩くしました。(Tom Lane)
具体的には、ロール名、言語名、EXPLAIN
とCOPY
のオプション、およびSET
の値でキーワードの制限を緩くしました。
これにより、COPY ... (FORMAT BINARY)
が期待通り実行可能になります(以前のバージョンではBINARY
に引用符をつける必要がありました)。
pgp_pub_decrypt()
がパスワード付きの秘密鍵に対応できるよう修正しました。(Marko Kreen)
リリース間のキーワードの違いによる問題を防ぐため、pg_upgradeがpg_dump --quote-all-identifiers
を使うようにしました。(Tom Lane)
インデックスのないテーブルのバキューム時にまれに発生する不正確な警告を削除しました。(Heikki Linnakangas)
ロック競合のために、ファイルを空にする要求がキャンセルされた場合の、VACUUM ANALYZE
がまだANALYZEを実行していることを保証するようにしました。(Kevin Grittner)
プリペアド問い合わせの中でトランザクション制御コマンド(例:ROLLBACK
)を実行する時に失敗する可能性があるのを修正しました。(Tom Lane)
浮動小数データ入力が、すべてのプラットフォームで、「無限大」をサポートすることを保証するようになりました。(Tom Lane)
C99標準では、inf
、+inf
、 -inf
、 infinity
、+infinity
、-infinity
が許容されるスペルです。
strtod
関数を実行しないプラットフォームでも、これらを認識することを保証します。
行をレコードやアレイと比較できる機能を拡張しました。(Rafal Rzepecki、Tom Lane)
時間帯データファイルをtzdataリリース2013dに更新しました。 イスラエル、モロッコ、パレスチナ、パラグアイでの夏時間の変更が含まれます。 またマッコーリー(Macquarie)島での歴史的な地域データの修正が含まれます。