リリース日: リリースされませんでした
このリリースには8.3.1からの各種修正が含まれています。 8.3メジャーリリースにおける新機能についてはE.198を参照してください。
8.3.Xからの移行ではダンプ/リストアは不要です。 しかしながら、8.3.1より前のバージョンからアップグレードする場合は、E.197を参照してください。
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を送信することを試みる場合が問題でした。
x
とy
が異なるデータ型を取る場合に
句に対して生成される不正確な計画による潜在するクラッシュを修正しました。
そして、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つのドットを持つe
とE
)を扱うISO-8859-5と他の符号化方式との間の変換を修正しました。(Sergey Burladyan)
複数のデータ型入力関数、特に、結果に初期化されず予測できない値を含む未使用のバイトを許すarray_in()
を修正しました。(Tom)
これは、2つの明らかに同じリテラル値が等しいとみなされず、結果パーサは一致しないORDER BY
およびDISTINCT
式に関して不平をいうといったエラーをもたらします。
正規表現副文字列一致(substring(
)における境界状態を修正しました。(Tom)
string
from pattern
)
この問題は、パターン全体は一致するが、ユーザが括弧付きの副式を指定し、その副式が一致しなかった時に発生します。
例えば、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(モナコ、イラク、チョイバルサン、パキスタン、シリア、キューバ、アルゼンチン/サンルイスにおける夏時間規則の変更)まで更新しました。
ecpglibにECPGget_PGconn()
関数を追加しました。(Michael)
ecpgのPGTYPEStimestamp_sub()
関数からの不正確な結果を修正しました。(Michael)
ecpgにおける継続行印の扱いを修正しました。(Michael)
contrib/cube
関数に潜在したクラッシュを修正しました。(Tom)
入力問い合わせがNULL値を返す場合のcontrib/xml2
のxpath_table()
関数のコアダンプを修正しました。(Tom)
contrib/xml2
のmakefileがCFLAGS
を上書きしないように修正しました。
また、libxsltの存在を適切に自動検出するようにしました。(Tom)