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

リリース日: 2010-03-15

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

E.144.1. バージョン8.4.3への移行

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

E.144.2. 変更点

  • SSL接続においてセッションキーの再調停をどの程度の頻度で行うかを制御するssl_renegotiation_limit設定パラメータを新しく追加しました。(Magnus)

    これをゼロに設定することで、再調停を完全に無効にすることができます。 これは壊れたSSLライブラリを使用している場合に必要になる可能性があります。 具体的には一部のベンダは再調停の試行を失敗させるCVE-2009-3555に対する一時しのぎのパッチを提供しています。

  • バックエンド起動時のデッドロックの可能性を修正しました。(Tom)

  • relcacheの再読み込みがきれいに行われている間にエラーを扱わないことが原因でクラッシュする可能性を修正しました。(Tom)

  • 保管された計画への宙ぶらりんのポインタを使用することが原因でクラッシュする可能性を修正しました。(Tatsuo)

  • ROLLBACKに関して、保管された計画の熱心すぎる無効化が原因でクラッシュする可能性を修正しました。(Tom)

  • 副トランザクション起動時における失敗からのリカバリを試行する時にクラッシュする可能性を修正しました。(Tom)

  • セーブポイントの使用およびサーバの符号化方式と異なるクライアント符号化方式に関連したサーバのメモリリークを修正しました。(Tom)

  • GiSTインデックスページ分割のリカバリ終了時の整理において生成される不正なWALデータを修正しました。(Yoichi Hirai)

    これはインデックスの破損という結果となり、WAL再生中にエラーが発生します。 もし運が悪ければ、未完全のGiST挿入に成功した後にリカバリ終了時の整理が行われている時にクラッシュしてしまいます。

  • GINインデックスに対するWAL redoの整理方式における不具合を修正しました。(Heikki)

  • GINインデックス検索における走査キーの不正な比較を修正しました。(Teodor)

  • bit型のsubstring()では、いかなる負の長さも文字列の残りすべてを意味するようにしました。(Tom)

    これまでのコードでは-1のみを上のように扱い、他の負の値についてはクラッシュする可能性がある無効な結果値を生成しました。(CVE-2010-0442)

  • 出力ビット幅が指定された整数よりも広く、それが8ビットの倍数以外である場合、先頭の端数のバイトを正確に扱うように整数からビット列への変換を修正しました。(Tom)

  • 正規表現マッチが異常なまでに低速になる一部の状況を修正しました。(Tom)

  • 削除された列を含む複合型の集合を返すSQL関数をインライン化する際に発生する不具合を修正しました。(Tom)

  • 複合型の配列の列の要素フィールドを更新する場合の不具合を修正しました。(Tom)

  • EXPLAINがFieldStoreまたはArrayRefの代入式を表示する必要がある時の失敗を防止します。(Tom)

    こうした状況は現在、EXPLAIN VERBOSEが計画ノードの対象リストを表示しようとした場合に発生します。

  • UNION/INTERSECT/EXCEPT内の副問い合わせで未修飾のリテラル文字列が現れる、一部の状況における不要な強制失敗を防止します。(Tom)

    これは、8.4より前までで動作していた一部の退行を修正します。

  • 行全体の変数が削除された列を含む行型を持つ一部の状況において、望まない行型互換性検査の失敗を防止します。(Tom)

  • 終了位置が正確にセグメント境界であった場合、次のWALセグメント名を報告するようにバックアップ履歴ファイル内のSTOP WAL LOCATIONを修正しました。(Itagaki Takahiro)

  • 常にカタログIDをCREATE FOREIGN DATA WRAPPERで指定されたオプション検証関数に渡します。(Martin Pihlak)

  • 一時ファイルが漏洩する一部の状況を修正しました。(Heikki)

    これは前のマイナーリリースでもたらされた問題を修正します。 失敗する状況の1つは集合を返すplpgsql関数が他の関数の例外ハンドラ内で呼び出された場合です。

  • FULL JOIN ON FALSEのサポートを追加しました。(Tom)

    これは、定数対偽の結合条件に簡略化できるようになった一部の問い合わせについての8.4より前のリリースからの退行を防止します。

  • 論理値変数の場合の制約による排他処理を改良しました。 具体的には、bool_column = false制約を持つパーティションを除外することができるようになりました。(Tom)

  • INOUTキャストをバイナリ互換を表すものとして扱うことを防止します。(Heikki)

  • 列レベル権限の付与または取り下げができない場合の警告メッセージに列名を含めます。(Stephen Frost)

    これにより、以前よりもより有用になり、REVOKEが複数のメッセージを生成する場合の混乱防止を助けます。 以前は重複して出現しました。

  • pg_hba.confとその関連ファイルを読み取る時、@が引用符記号の内部にある場合に@somethingをファイル包含要求と扱わないようにしました。 また、@自身をファイル包含要求として扱いません。(Tom)

    ロールまたはデータベース名が@から始まる場合の一定しない動作を防止します。 空白文字を含むパス名のファイルを包含する必要がある場合、まだ実現させることはできますが、式全体を引用符でくくるのではなく@"/path to/file"と記述しなければなりません。

  • ディレクトリがpg_hba.confとその関連ファイル内で含有対象と指定されていた場合の一部のプラットフォームにおける無限ループを防止します。(Tom)

  • SSL_readまたはSSL_writeerrnoを設定することなく失敗した場合に無限ループする可能性を修正しました。(Tom)

    一部の報告ではopensslの一部のWindows版で発生する可能性がありました。

  • 正しく動作させるためにホスト名が必要ですので、ローカル接続ではGSSAPI認証を許しません。(Magnus)

  • 想定外の文字列の解放を行うアプリケーションからecpgを保護します。(Michael)

  • 接続が消失した場合ecpgに適切なSQLSTATEを報告させるようにしました。(Michael)

  • psql \d出力におけるセル内容の変換を修正しました。(Heikki)

  • latexおよびtroff出力書式では行うべきではない文字列の書式付けを行わないようにpsqlnumericlocaleオプションを修正しました。(Heikki)

  • psqlにおける問い合わせ毎の小さなメモリリークを修正しました。(Tom)

  • ON_ERROR_STOP--single-transactionの両方が指定され、かつ、暗黙的なCOMMIT時にエラーが起きた場合に、psqlが正しい終了コード(3)を返すようにしました。(Bruce)

  • pg_dumpにおける外部サーバの権限出力を修正しました。(Heikki)

  • 範囲外の依存性IDにより並列pg_restoreがクラッシュする可能性を修正しました。(Tom)

  • 複合列がNULLに設定される場合にplpgsqlが失敗することを修正しました。(Tom)

  • PL/PerlUからのPL/Perl関数の呼び出し、およびその逆の場合において失敗する可能性を修正しました。(Tim Bunce)

  • コンパイラ固有の誤動作が起こる可能性を防ぐためにPL/Python内にvolatile記号を追加しました。(Zdenek Kotala)

  • PL/Tclは確実にTclインタプリタを完全に初期化します。(Tom)

    このミスの既知の兆候は、Tcl 8.5以降を使用している場合のTclのclockコマンドの誤動作だけです。

  • ExecutorEndが失敗したトランザクションまたは副トランザクションで作成されたポータルで実行されることを防止します。(Tom)

    contrib/auto_explainを使用する場合に問題になることが分かっています。

  • dblink_build_sql_*関数であまりに多くのキー列が指定された場合のcontrib/dblinkのクラッシュを防止します。(Rushabh Lathia、Joe Conway)

  • contrib/ltree操作においてゼロ次元の配列を許可します。(Tom)

    この状況は以前はエラーとして拒絶されました。 しかしこれを要素ゼロの配列と同様に扱う方がより簡便です。 特にこれは、ltree演算子がARRAY(SELECT ...)の結果に適用され、副問い合わせが行を返さない場合の不要な失敗を防止します。

  • ずさんなメモリ管理によって引き起こるcontrib/xml2の雑多なクラッシュを修正しました。(Tom)

  • Windowsにおいてcontrib/xml2の構築をより堅牢にしました。(Andrew)

  • Widowsのシグナル処理における競合状態を修正しました。(Radu Ilie)

    この不具合の兆候として既知のものは、負荷が高い状況においてpg_listener内の行が削除されることです。

  • Cコンパイラが64ビット整数データ型の動作を提供しない場合にconfigureスクリプトが失敗を報告するようにしました。(Tom)

    この状況は既に打破されており、もはやサポートする価値がないようです。 ですので代わりにconfigure時に単に拒絶します。

  • タイムゾーンデータファイルをtzdata release 2010eに更新しました。 バングラデシュ、チリ、フィジー、メキシコ、パラグアイ、サモアにおける夏時間規則の変更が含まれます。