function putDataToLobj($db, $msg){
$conn = pg_Connect("dbname=$db user=$id password=$pw");
pg_Exec($conn,"begin");
$obj = pg_locreate($conn);
$fp = pg_loopen($conn,$obj,"w");
pg_lowrite($fp,$msg);
pg_loclose($fp);
pg_Exec($conn,"commit");
pg_Exec($conn,"end");
pg_Close($conn);
return $obj;
}
저는 PHP와 Postgresql(6.4)를 가지고 게시판을 만들고 있습니다.
그런데 필드 하나의 데이타가 8k가 넘어서기 때문에 Large Object
를 사용해야 합니다.
그런데 위의 함수 pg_loclose($fp) 에서 다음과 같은 에러가 발생합니다.
이유를 알려 주시면 감사하겠습니다.
Warning: Unable to close PostgresSQL large object descriptor 0 in /export/home/ubf/htdocs/pgdb/lobject.inc on line 14
실제로 Database의 /data/base/$db디렉토리에 보니 Large object를 위한
2개의 index 파일은 생성되어 있습니다. 그런데 파일 내용은 저장되지 않았더군요
그리고 Large object 처리시 에러가 발생하면 backend에서 에러가 발생하던데
어떻게 처리해야 하는지도 가르쳐 주시면 감사하겠습니다.
|