34.4. Server-side Functions
Server-side functions tailored for manipulating large objects from SQL are listed in Table 34.1 .
Table 34.1. SQL-oriented Large Object Functions
  There are additional server-side functions corresponding to each of the
   client-side functions described earlier; indeed, for the most part the
   client-side functions are simply interfaces to the equivalent server-side
   functions.  The ones just as convenient to call via SQL commands are
  
   lo_creat
  
  
  
  ,
  
   lo_create
  
  ,
  
   lo_unlink
  
  
  
  ,
  
   lo_import
  
  
  
  , and
  
   lo_export
  
  
  
  .
   Here are examples of their use:
 
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'));
INSERT INTO image (name, raster)  -- same as above, but specify OID to use
    VALUES ('beautiful image', lo_import('/etc/motd', 68583));
SELECT lo_export(image.raster, '/tmp/motd') FROM image
    WHERE name = 'beautiful image';
 
  The server-side
  
   lo_import
  
  and
  
   lo_export
  
  functions behave considerably differently
    from their client-side analogs.  These two functions read and write files
    in the server's file system, using the permissions of the database's
    owning user.  Therefore, their use is restricted to superusers.  In
    contrast, the client-side import and export functions read and write files
    in the client's file system, using the permissions of the client program.
    The client-side functions do not require superuser privilege.
 
  The functionality of
  
   lo_read
  
  and
  
   lo_write
  
  is also available via server-side calls,
    but the names of the server-side functions differ from the client side
    interfaces in that they do not contain underscores.  You must call
    these functions as
  
   loread
  
  and
  
   lowrite
  
  .