| PostgreSQL 9.2.4 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Chapter 32. Large Objects | Next | |
There are server-side functions callable from SQL that
correspond to each of the client-side functions described above;
indeed, for the most part the client-side functions are simply
interfaces to the equivalent server-side functions. The ones that
are actually useful 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.
Please use this form to add your own comments regarding your experience with particular features of PostgreSQL, clarifications of the documentation, or hints for other users. Please note, this is not a support forum, and your IP address will be logged. If you have a question or need help, please see the faq, try a mailing list, or join us on IRC. Note that submissions containing URLs or other keywords commonly found in 'spam' comments may be silently discarded. Please contact the webmaster if you think this is happening to you in error.
Proceed to the comment form.