There are two built-in server-side functions, lo_import
and lo_export, for large object access, which are available for use
in SQL
commands.
Here is an example of their use:
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';These functions read and write files in the server's filesystem, 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 filesystem, using the permissions of the client program. Their use is not restricted.)