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

加藤 健太 kenta @ diverta.co.jp
2009年 8月 14日 (金) 14:50:06 JST


加藤と申します。

正しく説明できているかわからないですが、
OID・・カラムやインデックスなどのPostgreSQL内の各オブジェクトのユニークなID
XID・・データ操作(select,updateなど)のトランザクション毎のユニークなID

OIDはそうそう使い切らないと思うのですが、XIDはバキュームをしていないと
使い切ってしまいます。
OIDが少なくなってくると、アラートが出るのですが、それに気づかないと、
DBへのアクセスができなくなってしまいます。
(これ以上、操作をするとDBが壊れるので、操作を受け付けません。みたいな
エラーがでます)

その場合は以下のようなコマンドでOIDのクリーンアップを行う必要があります。

※PostgreSQLを一旦、止める
su - postgres
$ /usr/local/pgsql/bin/postgres --single -D /usr/local/pgsql/data VACUUMできないDB名

backend>VACUUM
※バキュームする

Ctrl + Dでシングルユーザーモードを終了。

※PostgreSQLを再起動


> 鈴木と申します。
> 
> PostgreSQLのOIDとXIDについて、マニュアルを読んでもいまいちよくわからなかったので、恐れ入りますがどなたかご教授ください。
> 
> PostgreSQLにおいて、OIDとXIDを使い切ってしまった場合、それぞれどのようなトラブルが想定されるのでしょうか?
> XIDを使いきると、過去のデータが参照できなくなるようですが、それ以外のトラブルはありますでしょうか?verは8.0を想定しています。
> 例:新規データが投入できなくなる、新規テーブルが作成できなくなる・・・等
> 
> よろしくお願いします。

*****************************************
株式会社ディバータ
Web&Mobile System Integration
代表取締役社長
加藤 健太

東京都新宿区市谷田町2-17 八重洲市谷ビル10F
[Email]  kenta @ diverta.co.jp
[Mobile]  090-2765-8176
[Tel]  03-3267-3900   [Fax]  03-3267-3863
[Web]  http://www.diverta.co.jp/ (弊社サイト)
[Web]  http://www.r-cms.jp/ (無料CMSサービス)




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