[pgsql-jp: 37554] Re: template1に対するvacuum

Morita Kazuro morita @ yuki.ad.jp
2006年 9月 18日 (月) 01:29:50 JST


> 次のようなリリースノートもありますし、バキュームが適切な時点で実行
> されていなかった可能性はありませんか?

データベース全体のバキュームはこれまでずっと午前04:00に1回という方法で
問題ありませんでした。更新の激しいテーブルは1時間に1回やっています。
しかし、1000000 transactions に1回vacuumが必要というのは知りませんで
した。(怠っても重くなるだけと思っていました)
携帯ゲームなんですけど、最近ユーザーがじわじわ増えており、また、昨日は雨の
日曜日ということもあり、もしかしたら1000000回を超えてしまったのでしょうか?
トランザクションの回数というのはどこを見れば分かるのでしょうか?

----- Original Message ----- 
From: "ASADA Kazuhisa" <asada @ solarism.org>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Sunday, September 17, 2006 11:50 PM
Subject: [pgsql-jp: 37553] Re:template1に対するvacuum


> "Morita Kazuro" <morita @ yuki.ad.jp> さんは、
> 「[pgsql-jp: 37552] Re: template1に対するvacuum」について書きました:
> 
> > そうでした。もうしわけありません。ちょっとパニックになっていたので。
> > 
> > postgreSQLのバージョンは8.1.2
> 
> 最初の投稿にあったログが全てのような気がします。
> トランザクションIDの周回でデータが失われることがないよう、コマンド
> の受付を停止したって書いてますよね。
> 
> >> LOG:  next transaction ID: 2146484146; next OID: 1468689963
> 〜〜略〜〜
> >> LOG:  transaction ID wrap limit is 2147484146, limited by database "postgres"
> >> WARNING:  database "postgres" must be vacuumed within 1000000 transactions
> >> HINT:  To avoid a database shutdown, execute a full-database VACUUM in "postgres".
> >> FATAL:  database is not accepting commands to avoid wraparound data loss in database "postgres"
> >> HINT:  Stop the postmaster and use a standalone backend to vacuum database "postgres".
> 
> 
> 次のようなリリースノートもありますし、バキュームが適切な時点で実行
> されていなかった可能性はありませんか?
> 
> PostgreSQL 8.1.2文書
>  E.3. リリース8.1
>    http://www.postgresql.jp/document/pg812doc/html/release-8-1.html#AEN72969
> 
>   E.3.3.2. サーバの変更
> 
>     * トランザクションID(XID)周回問題を防止しました。(Tom)
> 
>       トランザクションカウンタが周回点に近づいた時にサーバは警告を
>       発します。カウンタが周回点に近づき過ぎている場合、サーバは問
>       い合わせの受付を停止します。これにより、必要なバキューム処理
>       の実行を行う前にデータが損失されることは確実になくなります。



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