Em 1 de julho de 2013 14:13, Matheus de Oliveira <[email protected]>escreveu:
> > On Mon, Jul 1, 2013 at 2:03 PM, Nelson Luiz Gonzaga <[email protected]>wrote: > >> Ola a todos, >> Criei um user 'nosuperuser' e dei permissao a todo o BD porem deparei com >> o erro/hint no lo_export: >> >> ERROR: must be superuser to use server-side lo_export() >> HINT: Anyone can use the client-side lo_export() provided by libpq. >> >> Tentei dar as permissoes para a function lo_export no pg_catalog mas nao >> adiantou. >> Alguma ideia? >> >> > > A função lo_export salva dados no sistema de arquivos do servidor, logo, é > perigosa! Somente um superusuário deve utilizá-la mesmo. Vejo duas soluções > para o seu caso: > > 1. Use outra interface para recuperar LOBs, geralmente os drivers > disponibilizam uma (veja a doc. de seu driver/linguagem); > 2. Crie uma função como administrador que encapsula a chamada desta e > salva somente num local seguro, como /tmp, e defina-a como SECURITY DEFINER. > > Atenciosamente, > -- > Matheus de Oliveira > Analista de Banco de Dados > Dextra Sistemas - MPS.Br nível F! > www.dextra.com.br/postgres > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > Matheus, Voce é o cara! Eu ja tinha uma funcao para ler o LO que chamava a lo_export, dei o 'security definer' nela e funcionou perfeitamente. Valeu, NG
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
