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

Responder a