リリース日: 2009-12-14
このリリースは8.3.8に対し、各種の不具合を修正したものです。 8.3メジャーリリースにおける新機能についてはE.171. リリース8.3を参照してください。
8.3.Xからの移行ではダンプ/リストアは不要です。 しかし、8.3.8以前のバージョンからアップデートする場合は、E.163. リリース8.3.8を参照してください。
セッション固有の状態を変更するインデックス関数により引き起こされる間接的なセキュリティ脅威から保護します。(Gurjeet Singh, Tom)
この変更により不変インデックス関数がスーパーユーザのセッションを破壊する可能性を防ぎます。(CVE-2009-4136)
ヌルバイトが埋め込まれたコモンネーム(CN)フィールドをもつSSL証明書を拒絶します。(Magnus)
これは、SSL検証においてサーバまたはクライアント名に対する証明書が不正に一致しないようにします。(CVE-2009-4034)
バックエンド起動時のキャッシュ初期化の間でクラッシュする可能性を修正しました。(Tom)
空のシソーラス辞書におけるクラッシュを防止しました。(Tom)
安全ではない時点でのVACUUM
を中断するシグナルを防止します。 (Alvaro)
この修正により、VACUUM FULL
がすでにタプルの移動をコミットした後にキャンセルされた場合のパニックや、通常のVACUUM
がテーブルを切り詰めた後に割り込みを受けた場合の一時的なエラーを防止します。
ハッシュテーブルサイズの計算における整数オーバーフローによるクラッシュの可能性を修正しました。(Tom)
これは、ハッシュ結合の結果のプランナの推定サイズが極端に大きい場合に発生することがありました。
inet
/cidr
の比較における非常にまれなクラッシュを修正しました。 (Chris Mikkelson)
準備されたトランザクションで保持されるタプルレベルの共有ロックを確実に無視しないようにしました。 (Heikki)
副トランザクション内でアクセスされるカーソルで使用される一時ファイルの早すぎる削除を修正しました。 (Heikki)
新しいCSVログファイルに変更する時のsysloggerプロセスのメモリリークを修正しました。(Tom)
Windowsにおける権限ダウングレードロジックを修正しました。(Jesse Morris)
これは、Windowsにおいて「could not locate matching postgres executable」といった誤解を招くエラーメッセージでよくデータベースの起動が失敗する状況の一部を修正します。
GiSTインデックスページ分割において、分割がインデックスの最初の列以外に依存する場合の不正なロジックを修正しました。(Paul Ramsey)
チェックポイントの最後で古いWALファイルの回収や削除が失敗した場合にエラーを出力しません。(Heikki)
致命的ではないものと扱い、チェックポイントを完了させることができるようにする方が優れています。 将来のチェックポイントでは削除を再試行します。 こうした問題は通常の操作では想定されませんが、うまく設計されていないWindowsのアンチウィルスソフトウェアやバックアップソフトウェアにより現れることがあります。
WindowsにおいてWALファイルが繰り返しアーカイブされないようにしました。 (Heikki)
別の症状として、一部の他のプロセスが不要となったファイルの削除に干渉する場合にも発生します。
PAMパスワード処理をより堅牢に修正しました。(Tom)
以前のコードでは、Linuxのpam_krb5
PAMモジュールとドメインコントローラとしてのMicrosoft Active Directoryを組み合わせると失敗することが知られていました。
PAMスタックに渡される引数に関する正当ではない仮定を作成することであるため、どこかで問題になるかもしれません。
GSSAPIおよびSSPI認証方式における認証トークン(Kerberosチケット)の最大サイズを上げました。(Ian Turner)
以前の2000バイトという制限はUnix Kerberosの実装では十分でしたが、Windowsドメインコントローラで発行されるチケットではより大きくなることがあります。
シーケンスのアクセス統計情報の収集を再度有効にしました。 (Akira Kurosawa)
これは動作していましたが、8.3では壊れていました。
CREATE OR REPLACE FUNCTION
における所有権限の依存関係の処理を修正しました。(Tom)
WHERE
x
=x
条件の不正な処理を修正しました。(Tom)
一部の場合、これらは冗長なものとして無視されることがありましたが、そうではありません。
— これらはx
IS NOT NULL
と等価です。
全文検索パーサがXML属性内のアンダースコアを受け付けるようにしました。(Peter)
xml
バイナリ入力における符号化方式の扱いを修正しました。(Heikki)
XMLヘッダにて符号化方式の指定がない場合、デフォルトでUTF-8を仮定するようになります。 以前の扱いには一貫性がありませんでした。
plperlu
からplperl
の呼び出し、またはその逆における不具合を修正しました。(Tom)
内部の関数からのエラー終了が、外側の関数用のPerlインタプリタを正しく再選択できずにクラッシュをもたらす可能性がありました。
PL/Perl関数が再定義された時のセッション有効期間のメモリリークを修正しました。(Tom)
集合を返すPL/Perl関数により返される場合Perl配列が適切にPostgreSQL配列に返還されることを確実にしました。(Andrew Dunstan, Abhijit Menon-Sen)
集合以外を返す関数ではすでに正しく動作しました。
PL/Pythonの例外処理におけるまれなクラッシュを修正しました。(Peter)
contrib/pg_standby
にて、Windowsのシグナルを使用したフェイルオーバの通知を無効にしました。(Fujii Masao)
WindowsではUnixのようなシグナルを持ちませんので、これはまったく役に立っていませんでした。 さらに最近の変更により実際にクラッシュしてしまいます。
psqlのflexモジュールが正しいシステムヘッダファイルを使用してコンパイルされることを確実にしました。(Tom)
これは、--enable-largefile
が生成されたコード内に非互換の変更を引き起こすプラットフォームにおける構築失敗を修正します。
今後のバージョンのlibpqとの互換性を高めるために、postmasterが接続要求パケットにおけるapplication_name
パラメータをすべて無視するようにしました。(Tom)
最新の現実に合うように時間帯省略形ファイルを更新しました。(Joachim Wieland)
デフォルト時間帯群にIDT
の追加が含まれます。
時間帯データファイルをtzdata release 2009sまで更新しました。 南極、アルゼンチン、バングラデシュ、フィジー、ノヴォクズネツク、パキスタン、パレスチナ、サモア、シリアにおける夏時間規則の変更、および香港に関する歴史的な修正が含まれます。