Bom dia, eu achei a seguinte solução:
create or replace function bytea_import(p_path text, p_result out bytea)
language plpgsql as $$
declare
l_oid oid;
r record;
begin
p_result := '';
select lo_import(p_path) into l_oid;
for r in ( select data
from pg_largeobject
where loid = l_oid
order by pageno ) loop
p_result = p_result || r.data;
end loop;
perform lo_unlink(l_oid);
end;$$;
update testeimagem set imagem = (select bytea_import('/xxx/teste.jpg'));
Funcionou em uma base local (testes), mas quando vou mandar para o server, como não tem o arquivo, ele não acha.
Funcionou em uma base local (testes), mas quando vou mandar para o server, como não tem o arquivo, ele não acha.
ERROR: could not open server file "/xxx/teste.jpg": No such file or directory
Tem como contornar isso ?
De: [email protected]
Enviada: Quinta-feira, 6 de Agosto de 2015 16:52
Para: [email protected]
Assunto: [pgbr-geral] JPEG error #53
On 06-08-2015 16:43, Leandro Monqueiro Leme wrote:
> Infelizmente não resolveu.
> As imagens que já estavam na base eu consigo ver quando dou o comando do
> bytea_output = 'escape', em linha de execução mesmo ou colocando no
> postgresql.conf, mas os que são gravados na base 9.3, dá erro.
> Se tiro o 'latin1', na hora de gravar dá erro de sequencia de bytes
> invalida para codificação utf8 : 0xff.
>
bytea_output é para recuperação (aka SELECT); não tem nada haver com
INSERT. Há algum detalhe na hora de transformar a imagem numa cadeia de
bytes para gravar no bytea. Se você pedir para gravar as consultas, qual
é a saída do comando INSERT no log?
0xff é o caracter ÿ. A codificação do cliente é Latin1 mesmo?
--
Euler Taveira Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
