リリース日: 2012-08-17
このリリースは8.4.12に対し、各種の不具合を修正したものです。 8.4メジャーリリースにおける新機能についてはE.147. リリース8.4を参照してください。
8.4.Xからの移行ではダンプ/リストアは不要です。
しかし8.4.10より前のバージョンからアップグレードする場合にはE.137. リリース8.4.10を参照してください。
XML実体参照を介した外部ファイル/URLへのアクセスを防止します。(Noah Misch、Tom Lane)
xml_parse()
は、XML値で参照されるDTDと実体参照を解決するために必要な外部ファイルやURLの入手を試みます。
これにより、権限を持たないデータベースユーザがデータベースサーバの権限でデータを入手することができてしまいました。
この外部データは直接ユーザには返されませんが、データが有効なXMLとして解析できなかった場合その一部がエラーメッセージの中に漏洩することがあり得ます。
またどのような場合であっても、ファイルが存在するかどうか検査できるだけでも攻撃者にとって有用になり得ます。(CVE-2012-3489)
contrib/xml2
のxslt_process()
を介した外部ファイル/URLへのアクセスを防止します。(Peter Eisentraut)
libxsltはスタイルシートコマンドを通してファイルとURLの両方を読み書きする機能を提供します。 これにより、権限を持たないデータベースユーザがデータベースサーバの権限でデータを読み書きすることができてしまいました。 libxsltのセキュリティオプションを適切に使用することでこれを無効にします。(CVE-2012-3488)
またxslt_process()
の外部ファイル/URLからドキュメントとスタイルシートを取り込む機能を取り除きました。
これは文書化された「機能」でしたが、推奨されないものと長くみなされていました。
CVE-2012-3489に対する修正のためこの能力が壊れましたが、その修正を行うことは止め、単に取り除きました。
早すぎるbtreeインデックスページの回収を防止します。(Noah Misch)
読み取り専用トランザクションによるXIDの割り当てを省略できるようにした時、読み取り専用トランザクションがまだ参照している時に削除されたbtreeページを回収されてしまう可能性をもたらしました。 これは間違ったインデックス検索結果という結果になります。 時間に関する必要条件のため、こうしたエラーが実際に発生する可能性は非常に低いものでしたが、修正しなければなりません。
新しく作成された、またはリセットされたシーケンスに関するクラッシュに対する安全性を修正しました。(Tom Lane)
ALTER SEQUENCE
が新しく作成されたシーケンスまたはリセットされたシーケンスに対して実行された場合、その後nextval()
呼び出しが一度だけ行われ、そして、サーバがクラッシュすると、WAL再生はシーケンスをnextval()
が行われていないように見える状態にリストアします。
このため次のnextval()
呼び出しにより最初のシーケンス値が再び返されることになります。
シリアル列のシーケンス作成にはALTER SEQUENCE OWNED BY
処理が含まれていますので、特にこれはserial
列で現れます。
pg_start_backup()
の後確実にbackup_label
ファイルをfsyncします。(Dave Kerr)
9.1からのバックパッチはfsync要求キューの圧縮を向上しました。(Robert Haas)
チェックポイント期間の性能を向上します。 9.1の変更は安全に過去のバージョンにパッチを充てられると判断できる程度に実地試験が行われたようです。
自動バキュームは直接ブロックされたプロセスによってのみ自動キャンセルさせることができます。(Tom Lane)
元々のコードでは一部の場合に一貫性がない動作を許していました。
具体的にはdeadlock_timeout
猶予期間より短時間で自動バキュームはキャンセルされました。
自動バキュームのキャンセルについてのログ処理を改良しました。(Robert Haas)
サーバ起動後一番最初のログローテーションの間log_truncate_on_rotation
が動作するようにログコレクタを修正しました。(Tom Lane)
入れ子状の集合操作(UNION
/INTERSECT
/EXCEPT
)に付与されるWITH
を修正しました。(Tom Lane)
副問い合わせへの行全体の参照が余計なGROUP BY
やORDER BY
列を含まないことを確実にしました。(Tom Lane)
CREATE TABLE
時のCHECK
制約およびインデックス定義における行全体の参照の複製を許しません。(Tom Lane)
この状況はLIKE
またはINHERITS
を持つCREATE TABLE
で発生することがあり得ます。
複製される行全体の変数は、新しいテーブルではなく元のテーブルの行型で正しくラベル付けされませんでした。
LIKE
では、後で行型がよく分岐しますので、このような状況を拒絶する方が合理的のように思います。
INHERITS
では理想的には、親のテーブルの行型への暗黙的な変換によって許可すべきですが、安全に以前のバージョンにパッチを充てるにはより多くの作業が必要です。
ARRAY(SELECT ...)
副問い合わせにおけるメモリリークを修正しました。(Heikki Linnakangas、Tom Lane)
正規表現からの共通接頭辞の抽出を修正しました。(Tom Lane)
このコードでは^(foo)?bar
などの修飾された括弧付きの副式で混乱してしまうことがあり得ました。
こうしたパターンの検索に対して不正確なインデックス最適化をもたらしました。
interval
定数における、符号付きhh
:
mm
、hh
:
mm
:
ss
フィールドの解析に関する不具合を修正しました。(Amit Kapila、Tom Lane)
contrib/xml2
のxslt_process()
においてエラーを適切に報告します。(Tom Lane)
タイムゾーンデータファイルをtzdataリリース2012eに更新しました。 モロッコおよびトケラウにおける夏時間の変更が含まれます。