[pgsql-jp: 41484] autovacuumの実行について

masakazu.matsuura.fy @ hitachi-solutions.com masakazu.matsuura.fy @ hitachi-solutions.com
2013年 8月 9日 (金) 12:59:30 JST


お世話になります。松浦と申します。

現在,PostgreSQLで下記の問題が発生しています。解決方法等ご存知でしたら
ご教示ください。

<現象>
PostgreSQLの設定で,autovacuumの使用をoff(autovacuum = off)にし,
定期的にvacuumdbを実行しているにも関わらず,autovacuumが実行されることがある。

<環境>
バージョン:PostgreSQL8.3.5
OS:Windows Server 2003 R2

<問い合わせ内容>
PostgreSQLのマニュアルに「autovacuumの機能が無効であったとしてもシステムは,
トランザクションIDの周回を防止する必要があれば、自動バキュームプロセスを起動する」
とあるため,autovacuumの使用をoff(autovacuum = off)の場合でも,autovacuumが
実行されることは認識しています。
しかし,定期的にvacuumdbを実行し,トランザクションIDの周回が起きないようにしている
(トランザクションIDがautovacuum_freeze_max_age(2億)に達する前)にも関わらず,
autovacuumが実行されてしまいます。
vacuumdbは,下記のオプションをつけて実行しています。

<vacuumdb実行オプション>
vacuumdb  -U ユーザID -p ポート番号 -a -z

現在,下記について情報をお持ちであればご教示頂けませんでしょうか。

(1)トランザクションIDの周回を防止するために以外にautovacuumの使用をoff(autovacuum = off)
      の場合でも,autovacuumが実行される条件はあるでしょうか
(2)「vacuumdb  -U ユーザID -p ポート番号 -a -z」の実行でトランザクションIDの周回が防止
      できているでしょうか
(3)その他にトランザクションIDの周回を防止したうえで,autovacuumの実行を完全に抑止する方法は
      ないでしょうか

以上,よろしくお願い致します。


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