[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.169. リリース8.3.2

リリース日: リリースされませんでした

このリリースには8.3.1からの各種修正が含まれています。 8.3メジャーリリースにおける新機能についてはE.171. リリース8.3を参照してください。

E.169.1. バージョン8.3.2への移行

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

E.169.2. 変更点

  • WindowsでUTF-8データベース符号化方式と異なるクライアント符号化方式が使用された場合に発生するERRORDATA_STACK_SIZE exceededのクラッシュを修正しました。(Tom)

  • restore_commandパラメータの%rマクロにおける間違ったアーカイブ消去ポイント計算を修正しました。(Simon)

    ウォームスタンバイスクリプトがいつWALセグメントファイルを捨てるかを%rに基づいて決める場合にデータ損失が発生する可能性がありました。

  • 新しい列がすべて非NULLに初期化されていることが正しく検査されるようにALTER TABLE ADD COLUMN ... PRIMARY KEYを修正しました。(Brendan Jurd)

    これまでのバージョンでは、この必要条件の検査をまったく行っていませんでした。

  • 手続き言語にも動作できるようにREASSIGN OWNEDを修正しました。(Alvaro)

  • SELECT以外の最上位操作を行う問い合わせの副問い合わせとしてSELECT FOR UPDATE/SHAREが存在した場合の問題を修正しました。(Tom)

  • 同じ制約を、共通の祖先からその制約を継承する複数の親リレーションから継承する場合に、CREATE TABLEが失敗する可能性を修正しました。(Tom)

  • UPDATEまたはDELETEの対象テーブルに別名が付与されていたならば、pg_get_ruledef()がその別名を表示するように修正しました。(Tom)

  • TidScan計画で使用されるTID内の範囲外ブロック番号が警告なく行にまったく一致しないという結果になる、8.3以前の動作に戻しました。

    8.3.0と8.3.1では代わりにエラーになりました。

  • too many LWLocks takenという結果をもたらす、GINの不具合を修正しました。(Teodor)

  • tsqueryにおける壊れたGiST比較関数を修正しました。(Teodor)

  • 動作することが見込まれる型についてのドメインを受け付けるようにtsvector_update_trigger()ts_stat()を修正しました。(Tom)

  • 列挙データ型を外部キーとしてサポートするエラーを修正しました。(Tom)

  • 破損したデータを伸長する時に潜在するクラッシュを防止します。(Zdenek Kotala)

  • 遅延削除とDROP DATABASE間の競合条件を修正しました。(Heikki)

    最悪の場合、新しいデータベースに新しく作成したテーブルが最近削除されたテーブルと同じOIDを持つことが起こったら、そのテーブルを削除する結果になりました。 しかし、もちろんこれは非常に可能性が低いシナリオです。

  • バックエンドのSIGTERMによる終了が共有メモリを破損したままにする2か所を修正しました。(Tom)

    SIGTERMがデータベースクラスタ全体を停止するために使用された場合、どちらも非常に重要ではありません。 しかし、個々のバックエンドにSIGTERMを送信することを試みる場合が問題でした。

  • xyが異なるデータ型を取る場合にx IN (SELECT y FROM ...)句に対して生成される不正確な計画による潜在するクラッシュを修正しました。 そして、y型からx型への変換に損失がある場合に、意味的に正しく動作することを確認しました。(Tom)

  • プランナが既知のParam値が定数であった場合にそれを代用しないという見落としを修正しました。(Tom)

    8.3.0と8.3.1では、このミスは部分的に無名の拡張問い合わせ文の最適化を無効にしました。 特に、LIKEパターンがパラメータとして渡される場合、LIKE対インデックススキャン最適化は決して適用されませんでした。 また、パラメータ値に依存した制約による除外も動作しませんでした。

  • インデックス可能なMINまたはMAX集約がDISTINCTまたはORDER BYで使用された場合のプランナの失敗を修正しました。(Tom)

  • プランナがSortノードを生み出す計画ノードでphysical tlistを使用しないことを確実にしました。(Tom)

    これによりソートされたデータ内に未使用の列値が含まれるため、本来必要なデータより多くのデータをソートで処理しなければなりませんでした。

  • 不要な問い合わせ文字列の複製をやめました。(Tom)

    この修正は、8.3.0でもたらされた、多数のコマンドが単一問い合わせ文字列として送信された時の性能問題を修正します。

  • 子トランザクションのXIDを検査する際に、TransactionIdIsCurrentTransactionId()がリニア検索ではなく二分検索を使用するようにしました。(Heikki)

    これは、8.3.0が以前のリリースに比べ非常に低速になる一部の状況を修正します。

  • キリル語のYo文字(2つのドットを持つeE)を扱うISO-8859-5と他の符号化方式との間の変換を修正しました。(Sergey Burladyan)

  • 複数のデータ型入力関数、特に、結果に初期化されず予測できない値を含む未使用のバイトを許すarray_in()を修正しました。(Tom)

    これは、2つの明らかに同じリテラル値が等しいとみなされず、結果パーサは一致しないORDER BYおよびDISTINCT式に関して不平をいうといったエラーをもたらします。

  • 正規表現副文字列一致(substring(string from pattern))における境界状態を修正しました。(Tom)

    この問題は、パターン全体は一致するが、ユーザが括弧付きの副式を指定し、その副式が一致しなかった時に発生します。 例えば、substring('foo' from 'foo(bar)?')です。 (bar)は一致しませんので、これはNULLを返すべきです。 しかし、間違ってパターン全体が一致(つまりfoo)という結果を返していました。

  • XID周回を防ぐために起動された自動バキュームのキャンセルを防ぎます。(Alvaro)

  • 統計情報コレクタに報告する数がより正確になるように、ANALYZEの疑わしいタプル(まだコミットされていないトランザクションにより挿入または削除されたタプル)の扱いを改良しました。(Pavan Deolasee)

  • --xlogdir (-X)オプションにおける相対パスを拒絶するようにinitdbを修正しました。(Tom)

  • psqlがタブ文字を、8.3.0と8.3.1で使用された\x09ではなく、適切な数の空白文字で表示するようにしました。(Bruce)

  • 時間帯データファイルをtzdataリリース2008c(モナコ、イラク、チョイバルサン、パキスタン、シリア、キューバ、アルゼンチン/サンルイスにおける夏時間規則の変更)まで更新しました。

  • ecpglibECPGget_PGconn()関数を追加しました。(Michael)

  • ecpgPGTYPEStimestamp_sub()関数からの不正確な結果を修正しました。(Michael)

  • ecpgにおける継続行印の扱いを修正しました。(Michael)

  • contrib/cube関数に潜在したクラッシュを修正しました。(Tom)

  • 入力問い合わせがNULL値を返す場合のcontrib/xml2xpath_table()関数のコアダンプを修正しました。(Tom)

  • contrib/xml2のmakefileがCFLAGSを上書きしないように修正しました。 また、libxsltの存在を適切に自動検出するようにしました。(Tom)