リリース8.1.17

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

# E.28. リリース8.1.17

> リリース日: 2009-03-16

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

## E.28.1. バージョン8.1.17への移行

8.1.Xからの移行ではダンプ/リストアは不要です。 しかし、8.1.15より前のバージョンからアップグレードする場合は、8.1.15のリリースノートを参照してください。

## E.28.2. 変更点

- 符号化方式の変換に失敗した時、再帰的なエラーによるクラッシュを防止しました。(Tom)

  この変更は、最近の2つのマイナーリリースにて関連する失敗の状況に対してなされた改修を拡張したものです。 前回の修正は元の問題報告に特化したものでしたが、符号化方式変換関数で発生するすべてのエラーがそのエラーを報告しようとして、無限に再帰される可能性があることが分かりました。 したがって、再帰的なエラー報告を行う状況になったことがわかった時の解決策は、変換と符号化方式を無効にし、通常のASCII形式のエラーメッセージで報告することです。 (CVE-2009-0922)

- 特定の変換関数に対する、間違った符号化方式を用いた`CREATE CONVERSION`を許可しません。(Heikki)

  これにより、符号化方式に関する失敗における、あり得る状況を防止します。 前回の変更は、同じ問題における別の種類の失敗に対する防止策でした。

- `to_char()`に引数のデータに対して不適切な整形用のコードが渡された時のコアダンプを修正しました。(Tom)

- 暗黙的な強制を使用した`CASE WHEN`の逆コンパイルを修正しました。 (Tom)

  この間違いにより、アサートを有効にして構築した場合にアサート失敗が発生する可能性がありました。 また、他の構築状況でもビューの検証やダンプを行う際に"unexpected CASE WHEN clause"というエラーメッセージが発生する可能性がありました。

- TOASTテーブルの行型に対する所有者を間違って割り当てる可能性を修正しました。(Tom)

  `CLUSTER`または`ALTER TABLE`の書き換え構文がテーブル所有者以外のユーザにより実行された場合、テーブルのTOASTテーブル向けの`pg_type`項目が実行したユーザが所有するものとして記録されてしまいました。 TOASTの行型に対する権限は通常のデータベース操作ではまったく検証されませんので、これによりすぐに問題が発生することはありません。 しかし、後でコマンドを発行したロールを削除しようとした場合に想定外の失敗（8.1または8.2）や削除後にpg_dumpが"owner of data type appears to be invalid"という警告が発生する（8.3）可能性がありました。

- ブロックの終了時に、PL/pgSQLのエラー状態変数を完全に消去します。(Ashesh Vashi、Dave Page)

  これはPL/pgSQL自体の問題ではありませんが、これを行わないと、PL/pgSQLデバッガが関数の状態を検証する際にクラッシュする可能性がありました。

- デフォルトの既知の時間帯省略形のリストに`MUST`（モーリシャス島夏時間）を追加しました。(Xavier Bugaud)

前のページ | ホーム | 次のページ
リリース8.1.18 | 上に戻る | リリース8.1.16