[pgsql-jp: 25681] Re: ラージオブジェクトの削除後の領域開放
sugita @ sra.co.jp
sugita @ sra.co.jp
2002年 4月 24日 (水) 10:41:16 JST
杉田です。
From: "Kumakiri, Akira" <gorou @ ekuma.com>
Subject: [pgsql-jp: 25680] Re: ラージオブジェクトの削除後の領域開放
Date: Wed, 24 Apr 2002 10:21:05 +0900
;;; >blob型でデータを挿入した領域はvacuumコマンドでも開放されないのでしょうか?
;;;
;;; はい。明示的に開放する必要があります。
当然これはされていて、Windows2000 では、領域開放されないと言われているのだと
していました。
;;; どのようにlob型にアクセスされているかわかりませんが、私の場合はRedHat Linuxで、
;;; JDBC経由でアクセスしていますが、以下のようにしています。
;;;
;;; create table image (name text,raster oid) の場合、
;;;
;;; LargeObjectManager lom = ((org.postgresql.Connection)connM).getLargeObjectAPI();
;;;
;;; int raster = rs.getInt("raster");
;;; lom.delete(raster);
;;;
;;; 次にテーブルのoidを含んだレコードを消します。
場合によりますが、自前のテーブルで BLOB の OID を保存しているときに、レコー
ド削除時にトリガーで BLOB を削除するように定義しておく手もあります。
Kenji Sugita
sugita @ sra.co.jp
pgsql-jp メーリングリストの案内