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

Daisuke Arai d-arai @ tni.co.jp
2007年 7月 12日 (木) 16:40:37 JST


末永様

御回答誠に感謝いたします。
vacuumdbコマンドにfullオプションつけると、ACCESS EXCLUSIVEロックすること
理解できました。ありがとうございました。
では、可能での話ですけど、いくつのバージョンからvacuumdbコマンドにfullオプ
ションをつけてもACCESS EXCLUSIVEロックがかからないようになるのでしょうか。
もしこれかが出来ないようであれば、完全なるアクセスを遮断した上でvacuumを
行わねばならない手法が必要になりますよね。

>末永です。
>
>荒井 大輔さんは書きました:
>> そこでお伺いしたいのは、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 メーリングリストの案内