[pgsql-jp: 26129] Re: コンカレントバキュームについて

Jun Kitamura kitamura @ zoozee.jp
2002年 5月 25日 (土) 01:04:53 JST


北村@zoozee です。

On Fri, 24 May 2002 09:57:44 +0900 (JST)
sugita @ sra.co.jp wrote:

>   杉田です。
(略)
> ;;; 井上です。
> ;;; 以前から気になっていたので一言。
> 
>   そう言えば、Subject と合いませんね。
> 
> ;;; トランザクションIDの食い尽くしを防ぐのは
> ;;; コンカレント・バキュームとは基本的に別の問題
> ;;; です。
> 
>   辿ってみるとコンカレントバキュームで始まって、食い尽くしに流れているのに気が
> 付きませんでした。

え?え?そうなんですか?
コンカレントバキュームって、テーブルにロックをかけることなく、トランザク
ションと vacuum を同時に(concurrent)実行する、という機能を指すんじゃな
いんですか?

vacuum を実行しているトランザクション(T1) と、同時に実行されているトラン
ザクション(T2,T3,T4・・・Tn) の関係において、Tn でトランザクションID の食
いつくしが発生してしまうと(トランザクションID が 0 に戻って) vacuum を実
行しているトランザクションは、 Tn が更新するレコードを古い(過去の)トラン
ザクションと誤認して(消すなりその領域を再利用するなりして)しまいませんか??
その誤認を防ぐために FrozenID=2 が導入されましたよね(そして普通のトランザ
クションは 3 から再スタート)。

どっか勘違いしてます?




pgsql-jp メーリングリストの案内