[pgsql-jp: 30406] Re: VACUUMされない?

Tatsuo Ishii t-ishii @ sra.co.jp
2003年 7月 5日 (土) 23:42:42 JST


石井です.

>   vacuumdb -a -f でなく、DB1 で VACUUM FULL でも再現します。VERBOSE を付けてみ
> ると以下のようになります。

行を削除したトランザクションよりも前から走っているオープントランザクショ
ン(まだコミットしていないトランザクション)があると,削除された行を回
収しないようにvacuumの中で,チェックをかけています.もちろんオープント
ランザクションがそのテーブルと同じデータベースに接続している場合や,テー
ブルがデータベース間で共有されるテーブル(shared relation)ならばこの動
作は正しいのですが,なぜか実際にチェックを行っているGetOldestXmin() と
いう関数では,テーブルがshared relationでなくてもチェックに引っかける
ような動作になっています.

これがバグなのかどうかわからないので,本家に聞いてみます.
--
Tatsuo Ishii



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