リリース8.3.9

PostgreSQL 9.1.1文書
前のページ | 巻戻し | 付録 E. リリースノート | 早送り | 次のページ

# E.26. リリース8.3.9

> リリース日: 2009-12-14

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

## E.26.1. バージョン8.3.9への移行

8.3.Xからの移行ではダンプ/リストアは不要です。 しかし8.3.8以前のバージョンからアップデートする場合は8.3.8のリリースノートを参照してください。

## E.26.2. 変更点

- セッション固有の状態を変更するインデックス関数により引き起こされる間接的なセキュリティ脅威から保護します。(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まで更新しました。 南極、アルゼンチン、バングラディシュ、フィジー、ノヴォクズネツク、パキスタン、パレスチナ、サモア、シリアにおける夏時間規則の変更、および香港に関する歴史的な修正が含まれます。

前のページ | ホーム | 次のページ
リリース8.3.10 | 上に戻る | リリース8.3.8