[pgsql-jp: 39968] Re: OIDとXIDを使いきると?

Yasuo Ohgaki yohgaki @ ohgaki.net
2009年 8月 17日 (月) 10:57:41 JST


大垣です。

私はこういうテストの場合、デバッガを使ってメモリの値(変数の値)を変更して実験
します。他の値と連携していない変数の調整なら、-gでコンパルしてアドレスを探して
変えるだけなので比較的簡単です。

色々変える必要がある場合はデバッグ用関数を埋め込む方が簡単かも。
操作する関数を書いて、デバッガから呼び出すとアドレスを調べなくても変更可能です。

xidを変えるのみなら板垣さんのpg_resetxlogが一番簡単ですね。

ご参考までに。

--
Yasuo Ohgaki
yohgaki @ ohgaki.net



2009/08/14 20:46 に ISHIDA Akio<iakio @ mono-space.net> さんは書きました:
> こんにちは。
> 石田@苫小牧市と申します。
>
>
> 2009/08/14 16:16 に Itagaki Takahiro<itagaki.takahiro @ oss.ntt.co.jp> さんは書きました:
>>
>> kenbo0323 @ yahoo.co.jp wrote:
>>
>>> 8.0の場合、以下の認識であっていますでしょうか?
>>>
>>> ・OID、XID共に、使いきるとカウンターは周回してしまう(XIDはVACUUMすれば回避可能)
>> YES。
>>
>>> ・OIDが周回した場合、データの新規投入は不可になる?
>> 通常のデータ投入自体はできると思いますが、テーブルの作成やラージオブジェクトの
>> 作成でエラーになる可能性があります。(繰り返せば成功するかも)
>>
>>> ・XIDが周回した場合、データの新規投入は可能だが、投入する度に古いデータが消える
>> YESですが、テーブルやデータベースごと無くなるかもしれません。
>> VACUUM すれば正常な状態に復帰しますので、すぐに VACUUM すべきです。
>>
>
> 便乗ですが、ちなみにこのような状況を試してみる
> 簡単な方法というのはあるのでしょうか。
>
> # $PGDATA/base/pg_control
> # を書き換える、とかで出来るんでしょうか。
>
>
> --
> ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>
>



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