Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
32.4. Server-side Functions
Prev UpChapter 32. Large ObjectsHome Next

32.4. Server-side Functions

Server-side functions tailored for manipulating large objects from SQL are listed inTable 32.1.

Table 32.1. SQL-oriented Large Object Functions

FunctionReturn TypeDescriptionExampleResult
lo_from_bytea(loidoid,stringbytea)oid Create a large object and store data there, returning its OID. Pass0 to have the system choose an OID.lo_from_bytea(0, '\xffffff00')24528
lo_put(loidoid,offsetbigint,strbytea)void Write data at the given offset.lo_put(24528, 1, '\xaa') 
lo_get(loidoid [,frombigint,forint])bytea Extract contents or a substring thereof.lo_get(24528, 0, 3)\xffaaff

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 arelo_creat,lo_create,lo_unlink,lo_import, andlo_export. Here are examples of their use:

CREATE TABLE image (    name            text,    raster          oid);SELECT lo_creat(-1);       -- returns OID of new, empty large objectSELECT lo_create(43213);   -- attempts to create large object with OID 43213SELECT lo_unlink(173454);  -- deletes large object with OID 173454INSERT 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-sidelo_import andlo_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 oflo_read andlo_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 asloread andlowrite.


Prev Up Next
32.3. Client Interfaces Home 32.5. Example Program
epubpdf
Go to Postgres Pro Standard 10
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp