★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

E.205. リリース8.2.17

リリース日: 2010-05-17

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

E.205.1. バージョン8.2.17への移行

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

E.205.2. 変更点

  • Safe.pmを使用するのではなく、インタプリタ全体に適用されるopmaskを使用してplperlを強制的に制限します。(Tim Bunce, Andrew Dunstan)

    最近の開発によりplperlを信頼できるとする根拠とするにはSafe.pmが非常に安全ではないことを知らされました。 この変更により、Safe.pmの使用がなくなり、常に適用されるopcodeマスクを持つ別のインタプリタを使用するようになります。 この変更の喜ばしい副作用として、plperl内で普通の方法でPerlのstrictプラグマが使用できるようになりました。 また、Perlの$a$bがソート関数で想定される動作を行うようになり、関数のコンパイルが非常に高速になりました。(CVE-2010-1169)

  • PL/Tclにおいてpltcl_modules経由で信頼できないコードが実行されることを防止しました。(Tom)

    PL/TclのデータベーステーブルからTclコードを自動読み込みする機能はトロイの木馬攻撃によりつけこまれる可能性がありました。 そのテーブルの作成や挿入できるユーザに対する制限がなかったためです。 この変更により、pltcl_modulesがスーパーユーザにより所有されていない限り、この機能は無効になります。 (しかし、このテーブルに対する権限は検査されませんので、安全性が低いモジュールを本当に必要とするインストレーションでは、信頼された非スーパーユーザに適切な権限を付与できます。) また、 pltclu関数を本当に実行しようとしていない限り、制限がない通常のTclにコードが読み込まれることを防止しました。(CVE-2010-1170)

  • relcache項目の再構築中にキャッシュ再設定メッセージを受け取った場合にクラッシュする可能性を修正しました。(Heikki)

    8.2.16で関連する失敗を修正する時に、このエラーが入ってしまいました。

  • 非特権ユーザがスーパーユーザのみのパラメータ設定を再設定することを許しません。(Alvaro)

    これまで、非特権ユーザが自身に対するALTER USER ... RESET ALLまたは自身が所有するデータベースに対するALTER DATABASE ... RESET ALLを行った場合、そのユーザまたはデータベースに対する特別なパラメータ設定は、たとえスーパーユーザのみにより変更可能なものとして提供されるものであっても、すべて削除されました。 ALTERはそのユーザが変更権限を持つパラメータのみを削除するようになりました。

  • CONTEXT追加がログ項目になされる時にシャットダウンが発生した場合に、バックエンドのシャットダウン時にクラッシュする可能性を防ぎました。(Tom)

    現在のトランザクションがログメッセージを出力する時点に達した時にすでにロールバックされているために文脈出力関数が失敗することがありました。

  • PL/Perlのppport.hを最近のPerlバージョンに更新しました。(Andrew)

  • PL/Python内の雑多なメモリリークを修正しました。(Andreas Freund, Tom)

  • 変数展開が自身を参照している際のpsqlにおける無限再帰を防止します。(Tom)

  • \copy (select ...)内のドットの前後に空白を追加しないように、psql\copyを修正しました。(Tom)

    数値リテラルにおいて10進数の小数点の前後に空白が追加された場合、構文エラーが発生します。

  • contrib/pgstattuple関数がキャンセル割り込みに即座に応答することを確実にしました。(Tatsuhito Kasahara)

  • サーバ起動時に、既存の共有メモリセグメントに対してshmget()EINVALを返す状況を適切に扱うようにしました。(Tom)

    この振舞いはmacOSを含むBSD派生のカーネルにおいて観測されました。 共有メモリ要求サイズが大きすぎるという警告の、完全に間違った起動失敗という結果になりました。

  • Windowsにおけるsysloggerプロセス内のクラッシュする可能性を防ぎます。(Heikki)

  • Windowsレジストリにおいて不完全な時間帯情報をより堅牢に扱います。(Magnus)

  • Windowsにおいて既知の時間帯名称の集合を更新しました。(Magnus)

  • 時間帯データファイルをtzdata release 2010jに更新しました。 アルゼンチン、南極におけるオーストラリア、バングラデシュ、メキシコ、モロッコ、パキスタン、パレスチナ、ロシア、シリア、チュニジアにおける夏時間規則の変更、および、台湾の歴史的な修正が含まれます。

    また、デフォルトの時間帯省略形の集合にPKST(パキスタン夏時間)を追加しました。