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.