28.4. Funções do lado servidor

Existem duas funções do lado servidor, que podem ser chamadas através da linguagem SQL, que correspondem às duas funções do lado cliente descritas acima; na verdade, a maior parte das funções do lado cliente são simplesmente interfaces para funções equivalentes do lado servidor. As funções realmente úteis para serem chamadas através de comandos SQL são lo_creat, lo_unlink, lo_import e lo_export. Abaixo seguem exemplos de como utilizá-las:

CREATE TABLE imagem (
    nome            text,
    raster          oid
);

SELECT lo_creat(-1);       -- retorna o OID do objeto grande novo e vazio

SELECT lo_unlink(173454);  -- apaga o objeto grande com OID igual a 173454

INSERT INTO imagem (nome, raster)
    VALUES ('uma linda imagem', lo_import('/etc/motd'));

SELECT lo_export(imagem.raster, '/tmp/motd') FROM imagem
    WHERE nome = 'uma linda imagem';

As funções do lado servidor lo_import e lo_export se comportam de maneira consideravelmente diferente das suas funções análogas do lado cliente. Estas duas funções lêem e escrevem arquivos no sistema de arquivos do servidor, usando as permissões do usuário sob o qual o banco de dados executa. Portanto, o uso destas funções é restrito aos superusuários. Em contraposição, as funções de importação e exportação do lado cliente lêem e escrevem arquivos no sistema de arquivos do cliente, usando as permissões do programa cliente. As funções do lado cliente podem ser utilizadas por qualquer usuário do PostgreSQL.

SourceForge.net Logo CSS válido!