他のバージョンの文書 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.220. リリース8.0.26

リリース日: 2010-10-04

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

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

E.220.1. バージョン8.0.26への移行

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

E.220.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つのインタプリタのみを使用します。 これらのすべての関数は従来よりデータベーススーパーユーザの信頼レベルで実行されますので、これはセキュリティ問題とはみなされません。

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

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

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

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

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

  • 返される行のすべてが実際に同一の行型でない、レコードの集合を返す関数を防御します。(Tom Lane)

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

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

  • 過度に入れ子になった副トランザクションに対してXIDを割り当てる際の再帰を防止します。(Andres Freund, Robert Haas)

    元々のコードでは、制限されたスタック領域であった場合にクラッシュすることがあり得ました。

  • バックエンド起動の初期にゴミを生成することがあったlog_line_prefix%iエスケープを修正しました。(Tom Lane)

  • アーカイブ処理が有効な場合、ALTER TABLE ... SET TABLESPACEにおけるデータ破損の可能性を修正しました。(Jeff Davis)

  • CREATE DATABASEALTER DATABASE ... SET TABLESPACEを問い合わせキャンセルにより中断させることができます。(Guillaume Lelarge)

  • PL/Pythonにおいて、PyCObject_AsVoidPtrおよびPyCObject_FromVoidPtrからのヌルポインタ結果を防止します。(Peter Eisentraut)

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

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

  • 62バイトより長い接続名に関するcontrib/dblinkの処理を正しく修正しました。(Itagaki Takahiro)

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

  • 時間帯データファイルをtzdata release 2010lに更新しました。 エジプト、パレスチナにおける夏時間規則の変更、フィンランドの歴史的な修正が含まれています。

    またこの変更では、2つのミクロネシアの時間帯を追加しています。 Pacific/ChuukはPacific/Trukより好まれるようになり(好まれる省略形はTRUTではなくCHUT)、Pacific/PohnpeiはPacific/Ponapeより好まれるようになります。