[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 メーリングリストの案内