Em 4 de abril de 2012 12:40, Alexsander Rosa
<[email protected]>escreveu:

> Deve ser conversão de tipo. A função md5() do PostgreSQL exige parâmetro
> tipo "text".
>
>
É bem isso que o Alexander falou... na versão 8.3 foram removidos os casts
implícitos [1] de valores _não_texto_ para _texto_ em funções e operadores
que exigem este tipo de dado.

O que deve estar ocorrendo é que seu SQL com o uso do MD5 não deve estar
fazendo o devido CAST para TEXT e o PostgreSQL deve estar reclamando que
não existe uma função para o tipo que vc usou. Ex:

bdteste=# SELECT md5('1234');
               md5
----------------------------------
 81dc9bdb52d04dc20036dbd8313ed055
(1 row)

bdteste=# SELECT md5(1234);
ERROR:  function md5(integer) does not exist
LINE 1: SELECT md5(1234);
               ^
HINT:  No function matches the given name and argument types. You might
need to add explicit type casts.


Veja que na primeira chamada a funcao md5 eu usei um literal string e na
segunda um literal numérico... em versões anteriores a 8.3 isso funcionada
pois o PG fazia essa conversão de tipos de forma implícita.

Att,

[1] http://www.postgresql.org/docs/8.3/static/release-8-3.html#AEN87760

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a