30.4. ¼­¹ö ÃøÀÇ ÇÔ¼ö

Áö±Ý±îÁö ¼³¸íÇÑ Å¬¶óÀ̾ðÆ®ÃøÀÇ ÇÔ¼ö °¢°¢ ´ëÀÀÇÏ´Â SQL¿¡¼­ È£Ãâ °¡´ÉÇÑ ¼­¹öÃø ÇÔ¼ö°¡ ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î ´ëºÎºÐÀÇ Å¬¶óÀ̾ðÆ®ÃøÀÇ ÇÔ¼ö´Â ´ëÀÀÇÏ´Â ¼­¹öÃøÀÇ ÇÔ¼ö¿¡ ´ëÇÑ ´Ü¼øÇÑ ÀÎÅÍÆäÀ̽ºÀÔ´Ï´Ù. SQL Ä¿¸àµå·ÎºÎÅÍÀÇ È£ÃâÀÌ ½ÇÁ¦·Î À¯¿ëÇÑ ÇÔ¼ö´Â lo_creat ,lo_create ,lo_unlink ,lo_import ,lo_export ÀÔ´Ï´Ù. ¾Æ·¡´Â ÀÌ ÇÔ¼öÀÇ »ç¿ë¿¹ÀÔ´Ï´Ù.

CREATE TABLE image (
    name            text,
    raster          oid
);

SELECT lo_creat(-1);       -- returns OID of new, empty large object

SELECT lo_create(43213);   -- attempts to create large object with OID 43213

SELECT lo_unlink(173454);  -- deletes large object with OID 173454

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';

¼­¹öÃøÀÇ lo_import¿Í lo_exportÇÔ¼ö µ¿ÀÛÀº Ŭ¶óÀ̾ðÆ®ÃøÀÇ ÇÔ¼ö¿Í »ó´çÈ÷ ´Ù¸¨´Ï´Ù. ÀÌ µÎ ÇÔ¼ö´Â ¼­¹ö ÆÄÀÏ ½Ã½ºÅÛÀÇ ÆÄÀÏÀ» Àаí ÀÔ·ÂÇÕ´Ï´Ù. ÀÌ´Â µ¥ÀÌÅͺ£À̽º¸¦ ¼ÒÀ¯ÇÏ´Â À¯ÀúÀÇ ±ÇÇÑÀ¸·Î ½ÇÇàµË´Ï´Ù. µû¶ó¼­, ÀÌ·¯ÇÑ »ç¿ëÀº ½´ÆÛ À¯Àú·Î Á¦Çѵ˴ϴÙ. ´ëÁ¶ÀûÀ¸·Î, Ŭ¶óÀ̾ðÆ®ÃøÀÇ import ÇÔ¼ö¿Í export ÇÔ¼ö´Â Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏ ½Ã½ºÅÛÀÇ ÆÄÀÏÀ» Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÇ ±ÇÇÑÀ¸·Î Àаí ÀÔ·ÂÇÕ´Ï´Ù. Ŭ¶óÀ̾ðÆ®ÃøÀÇ ÇÔ¼ö´Â ¸ðµç PostgreSQL À¯Àú°¡ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.