[pgsql-jp: 40954] Re: vacuum full 実行時のデーターベースアクセスできますか?
武田 憲太郎
takeda @ youmind.jp
2011年 10月 7日 (金) 22:59:57 JST
武田と申します。
>普通のvacuum の時は、vacuum中でも、データベースのリード、ライトは可能だが、
>vacuum fullの時は、lockされてデータベースへのリード、ライトはできないと
>いう理解でよいでしょうか?
板垣様がご回答なさってますが、勝手な補足すみません。
http://www.postgresql.jp/document/current/html/explicit-locking.html
ここですね。
===========================================
ACCESS EXCLUSIVE
全てのモードのロック(ACCESS SHARE、ROW SHARE、ROW EXCLUSIVE、SHARE UPDATE
EXCLUSIVE、SHARE、SHARE ROW EXCLUSIVE、EXCLUSIVE、および ACCESS EXCLUSIVE)
と競合します。このモードにより、その保持者以外にテーブルにアクセスするトラン
ザクションがないことが保証されます。
ALTER TABLE、DROP TABLE、TRUNCATE、REINDEX、CLUSTER、VACUUM FULLコマンドに
よって獲得されます。また、明示的にモードを指定しなければ、これがLOCK TABLE文
を使用する際のデフォルトのロックモードです。
===========================================
>その保持者以外にテーブルにアクセスするトランザクションがないことが保証され
ます。
(中略)
>VACUUM FULLコマンドによって獲得されます。
vacuum fullに限らず表13-2が非常に便利です。
もしvacuum fullの可否が運用に何かしらの影響を及ぼすのであればむしろ逆で、
http://www.postgresql.jp/document/current/html/routine-vacuuming.html#VACUUM
-FOR-SPACE-RECOVERY
===========================================
定常的なバキューム作業の通例の目安はVACUUM FULLの必要性を避けるに充分な頻度
で標準VACUUMを行うことです。
===========================================
だそうです。
==========================================================================
株式会社ユーマインド http://youmind.jp 武田憲太郎 takeda @ youmind.jp
〒150-0034 東京都渋谷区代官山町20-5 JPR代官山ビル3F
TEL:03-5784-9477 / FAX:03-3461-8344
==========================================================================
-----Original Message-----
From: pgsql-jp-bounces @ ml.postgresql.jp
[mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of tanaka
Sent: Friday, October 07, 2011 10:05 PM
To: PostgreSQL
Subject: [pgsql-jp: 40952] vacuum full 実行時のデーターベースアクセスできま
すか?
こんばんは、よろしくお願いします。
postgres8.1.5 で、
普通のvacuum の時は、vacuum中でも、データベースのリード、ライトは可能だが、
vacuum fullの時は、lockされてデータベースへのリード、ライトはできないと
いう理解でよいでしょうか?
最近のpostgres 9.x.x でも、vacuum のところは、同様でしょうか?
pgsql-jp メーリングリストの案内