[pgsql-jp: 38570] Re: vacuumdbコマンドのfullオプションをつけた時のトラブルについて

hiroshi suenaga rsgfd683 @ yahoo.co.jp
2007年 7月 11日 (水) 11:44:38 JST


末永です。

荒井 大輔さんは書きました:
> そこでお伺いしたいのは、vacuumdbを実行しているときにバキュームを行っている
> 対象のテーブルに対して閲覧や更新などを行うことができないという事象は
> PostgreSQL7.1で挙げられておりましたが、PostgreSQL7.2以降ではこのような
> (テーブルに対してロックがかかったような)事象が起きないものだと確認しており
> ました。しかしながら、PostgreSQL7.3.4を使用しているのになぜこのような事象と 
> 
> なってしまったのでしょうか。

ご質問の内容ですが、
PostgreSQL7.3.4で、vacuumdbコマンドにfullオプションをつけますと、
PostgreSQL7.1でvacuumdbコマンドを実行した場合と同じ動きをします。
したがって、ACCESS EXCLUSIVEロックとなりますので、
テーブルに対する、書き込み、読み込みなど、
同時に起こるすべての操作からテーブルが保護されます。
テーブルをロックしたくない場合は、fullオプションをつけないで実行します。
 システムの規模などにより様々だと思いますが、
私の場合は、暇な時間帯にfullオプションをつけてvacuumdbを実行して、
fullオプションをつけないvacuumdbは一日一回実行するようにしていました。




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