28.4. サーバ側の関数

SQLコマンドで利用できる、ラージオブジェクト用のlo_importlo_exportという2つのサーバ側の関数が組み込まれています。 これらの使用例を示します。

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

これらの関数はサーバのファイルシステム上のファイルの読み書きを、データベースを所有するユーザの権限で行ないます。 従って、これらの使用はスーパーユーザに限定されています。 (対照的に、クライアント側のインポート関数とエクスポート関数はクライアントのファイルシステム上のファイルをクライアントプログラムの権限で読み書きします。 この使用は限定されていません。)