PostgreSQL 6.5 에도 large object 가 지원되는 것으로 알고 있습니다. 다시 확인해 보시기 바랍니다. (아울러 개인적인 생각으로는 7.1.2로 업그레이드를 고려해 보시기 바랍니다. 그렇게 하신다면 하나더 방법이 생긴답니다.)
예전에 있던 글들을 참조하시기 바랍니다.
http://database.sarang.net/board/db.php3?table=others&action=article&arg=490
http://database.sarang.net/board/pgsql.php3?table=pgsql&action=article&arg=1730
사용법
=============================
1. large object를 이용하는 방법.
매뉴얼에 large object를 위한 테이블 정의법과
생성법, 그리고 저장법에 관해 기록되어 있습니다.
그대로 옮기도록 하겠습니다.
CREATE TABLE image (
name text,
raster oid
);
INSERT INTO image (name, raster)
VALUES ('beautiful image', lo_import('/etc/motd'));
SELECT lo_export(image.raster, "/tmp/motd") from image
WHERE name = 'beautiful image';
2. 특정 디렉토리에 multimedia file을 저장한 후 그
목록만을 관리하는 방법
의외로 유용할 경우가 많답니다.
==========================
참고로 7.1 부터는 pg_dump 로 거대객체의 백업이 가능합니다. 그 이전 버전은 거대객체는 모두 수작업으로 백업을 해야 한답니다. 이럴 경우 문제는 자료를 update 시에도 문제가 되지요. 그래서 PostgreSQL 버전을 7.1로 업그레이드 하시길 권장하는 것입니다. 만약 large object 의 인터페이스가 불편하다고 느낀다면 MIME encoding 을 한다음 그 자료를 바로 text 형 필드에 저장하는 방법도 있습니다. 이것은 이외로 편리한 면을 제공하지요. (개인적으로는 이렇게 처리를 많이 합니다) 물론 이 방법은 7.1 이전 버전은 text 라는 자료형이 8k 라는 size 의 한계를 가지므로 PostgreSQL 버전이 7.1로 업그레이드 한 다음 가능할 것으로 판단됩니다.
>>안세환 님께서 쓰시길<<
:: 저는 지금 postgres 6.5 + redhatlinux6.5 시스템에서
:: 이미지 필드를 만들어서 사용할려는데,
:: 지금 버전에는 거대 객체 타입이 없습니다.
::
:: 버전 업을 하지 않는 범위에서 그 타입만을 추가
:: 하는 방법은 없는지요?
::
:: 있슴 가르쳐 주시면 감사하겠습니다........
|