Existem duas funções nativas do lado servidor, lo_import
e lo_export
,
para acessar objetos grandes, disponíveis para uso nos comandos SQL. Abaixo está um exemplo de utilização:
CREATE TABLE imagem ( nome text, raster oid ); 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';
Estas funções fazem leitura e escrita de arquivos no sistema de arquivos do servidor, utilizando as permissões do usuário dono do banco de dados. Portanto, só podem ser utilizadas por superusuários (Em oposição, as funções de importação e exportação do lado cliente fazem a leitura e escrita de arquivos no sistema de arquivos do cliente, utilizando as permissões do programa cliente, não tendo seu uso restringido).