[pgsql-jp: 30386] Re: VACUUMされない?

小野 心 shin-ono @ mdsnet.co.jp
2003年 7月 4日 (金) 17:42:29 JST


 小野@mdsです

sugita @ sra.co.jpさんが03.7.3 9:28 AMに書きました:
>  7.1 から移行した DB が入っている場合、というのを再現する手順を教えて頂けない
>でしょうか?

 あれから更にテストをしたのですが、結果として移行したDBのデータ自体
には、問題が無いことが分かりました。結果としては、一緒に動かしていた
WebApplicationのコネクションプール機能に原因が有るようです。その結果
再現方法も判明しました。

 構成としては、

<DB1>
UserName = test_user1
DBName   = test_db1

<DB2>
UserName = test_user2
DBName   = test_db2

 と2個のDBとユーザーを作成して、DB1に先日のデータ書き込みを行った後に、
削除してDB2に対してJDBCで接続を行い

BEGIN
SET TRANSACTION ISOLATION LEVEL READ COMMITTED

 を実行後に接続を開きっぱなしにします。
 この状態で

vacuumdb -a -f

 を行っても領域が開放されません。しかし、DB2への接続を切った後に、バキュー
ムを行うと領域が開放されます。

 気になるのですが、トランザクションが関係して、異なるDB/Userで接続している
のに、影響をおよぼすのは、仕様なのでしょうか?



=====================================================

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