[11/15開催: PostgreSQL Conference Japan 2019 参加受付中] 
他のバージョンの文書 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.247. リリース7.4.30

リリース日: 2010-10-04

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

これはPostgreSQL 7.4.X系列の最終リリースとなるはずです。 ユーザにはより新しい系列のリリースへの更新を強く勧めます。

E.247.1. バージョン7.4.30への移行

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

E.247.2. 変更点

  • PL/PerlおよびPL/Tclにおいて、呼び出し元のSQLユーザIDごとに別のインタプリタを使用します。(Tom Lane)

    この変更は、同じセッション内でその後に異なるSQLユーザIDにより実行されるPerlまたはTclコード(例えばSECURITY DEFINERの内部)を破壊することで発生する可能性があるというセキュリティ問題を防止するものです。 ほとんどのスクリプト用言語は、対象とする関数で呼び出される標準関数や演算子の再定義など、これを行うことができる多くの方法を提供します。 この変更がないと、PerlまたはTcl言語の使用権限を持つ任意のSQLユーザは基本的に、対象の関数の所有者が持つSQL権限でできることを何でもできるようになります。

    この変更の欠点はPerlおよびTcl関数間の内部通信がより難しくなるという点です。 逃げ道を提供するために、PL/PerlUおよびPL/TclU関数ではまだセッション当たり1つのインタプリタのみを使用します。 これらのすべての関数は従来よりデータベーススーパーユーザの信頼レベルで実行されますので、これはセキュリティ問題とはみなされません。

    信頼された実行を提供することを主張するサードパーティ製の手続き言語は似たようなセキュリティ問題を持つ可能性が大きくあります。 セキュリティが非常に重要な目的のために依存している手続き言語があれば、その作者に連絡を取ることを勧めます。

    この問題を指摘いただいたTim Bunceに感謝します(CVE-2010-3433)。

  • pg_get_expr()の用途として意図されたシステムカタログ列の一つではない引数で呼び出されることを拒絶することでpg_get_expr()内のクラッシュする可能性を防止します。(Heikki Linnakangas, Tom Lane)

  • cannot handle unplanned sub-selectエラーを修正しました。(Tom Lane)

    これは、副選択が他の副選択を含む式に展開される結合の別名参照を含む場合に発生しました。

  • ロックファイル(postmaster.pidおよびソケット用のロックファイル)を書き出す時に、注意してその内容のfsyncします。(Tom Lane)

    これがないと、postmasterの起動後しばらくしてマシンがクラッシュした場合に、ロックファイルの内容が破損することがあり得ました。 これが起きると、このロックファイルを手作業で削除するまで、その後のpostmasterの起動試行が成功できなくなります。

  • 削除された列を含むテーブルに対するcontrib/dblinkの処理を改良しました。(Tom Lane)

  • contrib/dblinkにおいてduplicate connection nameエラー後の接続リークを修正しました。(Itagaki Takahiro)

  • 構築手順や文書を更新して、ソースコードリポジトリがCVSからGitに変更されたことを反映しました。(Magnus Hagander他)