Pesquisei mais sobre o parâmetro "standard_conforming_strings" que o Euler comentou no mail, mudei ele para "on" e resolveu o problema.
Grato Julio Tofoli SetaDigital Sistemas -------------------------------------------------- From: "jmtofoli" <[email protected]> Sent: Tuesday, May 24, 2011 11:54 AM To: "Comunidade PostgreSQL Brasileira" <[email protected]> Subject: Re: [pgbr-geral] Erro ao salvar bytea > Ola Euler. > Não espero que você adivinhe a solução, mas talvez você não tenha lido o > primeiro email que enviei (a seguir), salvo a instrução de insert e o > parametro " standard_conforming_strings" (que coloquei ao final desse > mail), todas as perguntas que você fez estão ai respondidas: > >>>- "Estou fazendo testes no PG 9.0 para migrar as bases de dados dos >>>clientes. >>>Estou tendo problemas ao salvar registros com o tipo de dados "bytea". >>>Utilizo esse formato para >>armazenar imagens que converto em string. Até >>>a versão 8.3 estava tudo ok, mas agora, ao tentar salvar >>um registro a >>>seguinte mensagem é retornada: "invalid byte sequence for >>>encoding"UTF8":0xff " >>>Me parece que a string possui algum caracter não suportado pelo UTF8. >>>Será >>>possivel? > >>>O banco é Postgresql 9.0.4, Encoding='UTF8', LC_COLLATE='pt_BR.UTF8', >>>LC_CTYPE='pt_BR.UTF8'. >>>Alterei também a variável "bytea_output" para "escape"." - > > A instrução de insert é a seguinte: > INSERT INTO Imagens (codigo,imagem) VALUES ('C000002' > ,'\377\330\377\340\000\020JFIF\000\001\001\001\000\140\000\140\000\000\377\333\000C') > > O parametro "standard_conforming_strings" esta como "off" > > Em pesquisas que realizei, consegui inserir o registro utilizando o > seguinte > insert: > (note a adição da letra "E" no segundo parametro do insert e também a > utilização de duas barras ("\\"). > INSERT INTO Imagens (codigo,imagem) VALUES ('C000002' > ,E'\\377\\330\\377\\340\\000\\020JFIF\\000\\001\\001\\001\\000\\140\\000\\140\\000\\000\\377\\333\\000C') > > Gostaria de saber se é possivel manter o comportamento das versões > anteriores do postgresql, pois devido ao framework que utilizo, essa > "simples" alteração vai me dar um boommm trabalho. > > Grato pela atenção. > > Julio Tofoli > SetaDigital Sistemas. > > -------------------------------------------------- > From: "Euler Taveira de Oliveira" <[email protected]> > Sent: Tuesday, May 24, 2011 11:04 AM > To: <[email protected]> > Subject: Re: [pgbr-geral] Erro ao salvar bytea > >> Em 24-05-2011 08:19, jmtofoli escreveu: >>> Ja havia mudado a variavel bytea_output, mas pelo que pesquisei, o >>> problema >>> esta no momento de realizar o insert. Como a string que envio no insert >>> possui a barra ("/") no seu conteúdo, o postgres o entende como caracter >>> de >>> escape, o que faz retornar o erro. >>> >> Cadê o erro? Cadê o comando que ocasionou o erro? Qual o valor dos >> parâmetros >> bytea_output e standard_conforming_strings? Qual a versão do PostgreSQL? >> Sem >> detalhes fica difícil adivinhar a solução... >> >> >> -- >> Euler Taveira de Oliveira - 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 _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
