[pgsql-jp: 30259] VACUUMされない?
小野 心
shin-ono @ mdsnet.co.jp
2003年 6月 29日 (日) 04:49:01 JST
ども、小野@mdsです。
久しぶりの書き込みなのですが、VACUUMに関係したディスクの空き領域
に付いて不明な所があり、質問させて頂きました。
RedHat Linux 8.0
PostgreSQL 7.3.3
の環境で、
CREATE TABLE StatementTest ( data character( 2048 ));
によりテーブルを作成して、JDBC経由で
INSERT INTO StatementTest ( data ) VALUES ( ? );
※?には、2Kバイトのランダムテキストが入ります。
を一気に20万回ほど行った後に、
DELETE FROM StatementTest;
でテーブル内の全てのレコードを削除します。
その時点で、pgdataの配下がテスト前より増えているのは当たり前なの
ですが、
vacuumdb -f -a
のコマンドで実行しても、若干(1%ぐらい)しか領域が開放されていない
状態なのです。しかし、
DROP TABLE StatementTest;
を行った後に、VAVUMEを行うとしっかりと領域が開放され、テスト前とほ
ぼ同じサイズになります。なお、他のバージョンでは、まだテストをしてい
ません。
そこで、質問なのですが、これは、
・やってはいけないことなのか
・やり方が悪いのか
・仕様なのか
・DBのバグ(無いと思いますが)
の、どれなのでしょうか?
よろしくご教授下さい。
=====================================================
Shin Ono(小野 心)
System Director
MINOLTA DIGITAL SOLUTION CO.,LTD
3-2-1 Kamiosaki, Shinagawa-ku, Tokyo 141-0021
TEL:03-5449-2003/FAX.03-5449-2010
-----------------------------------------------------
Mailto:shin-ono @ mdsnet.co.jp
http://www.mdsnet.co.jp/
=====================================================
pgsql-jp メーリングリストの案内