
このリリースは PostgreSQL 7.2.4 (2003/01/30リリース)に関する技術情報をお届けします。本ドキュメントは PostgreSQL のリリースノートを元に弊社で解説を加えたものです。
PostgreSQL 7.2.3 から 7.2.4 への変更点
データの失われる可能性があるバグが修正されています。
注意: ここにあげた変更点は、すべてを網羅していない可能性があります。詳しくはソースに付属の HISTORY というファイルを見てください。
バグ修正
- VACUUM
- VACUUM で “No one parent tuple was found” が発生しないように修正されました。
- VACUUM が関数内から呼び出されると、関数コンテクストが破壊されるため、呼出ができないように修正されました。
- アボートトランザクション中の SELECT FOR UPDATE でロックされたタプルを VACUUM が正しく扱えないバグが修正されました。
- チェックポイントが完了する前に、pg_clog がディスクに書き込まれるようにバグ修正されました。このバグによる問題点としては、次のようなケースが考えられます。UPDATE を実行している最中に停電などでマシンが落ち、その後電源が入って PostgreSQL がリカバリにはいるが、その最中にまた電源が落ち、その後電源が入って再度リカバリに入り… という過程を繰り返すとコミットしたデータが失われる可能性があります。
- UPSが設置されていない
- データベースのリカバリ処理中に何度も電源が落ちる
というような悪条件が重なる可能性のある方はご注意下さい。ちなみにこの問題は、7.2, 7.2.1, 7.2.3, 7.3.1 にも存在します。
- ExecHashJoinGetBatch() での整数演算オーバーフローのために、大きなハッシュ結合でコアダンプするバグが修正されました。
- GROUP コマンドで、グループリストが大きい場合に、TOAST されたデータが正しくデコードできないバグが修正されました。
- データ型、関数、演算子
- abstime、almt、apr、april、current、that、decs、mins、timezone のタイムゾーン名について、内部トークンテーブルでの順序の間違いと重複のために、認識されないタイムゾーン名があったバグが修正されました。
- circle_poly()、path_encode()、path_add() での整数演算オーバーフローのバグが修正されました。
- lseg_eq() と lseg_ne() の線分の比較、lseg_center() が線分の中心を返さないバグが修正されました。