> Tenho um sistema legado que faz a bobagem de chamar funções "replace(string,
> string, string)" com replace(INT, string, string) e o postgresql 8.2 aceita
> isso de alguma forma. Estou migrando essa base de dados para um postgresql
> 8.4 e ele não executa as querys com esse erro no recebimento do parâmetro.
> Gostaria da ajuda de vocês para saber como fazer o pg 8.4 aceitar essas
> consultas enquanto estamos buscando refatorar esse "código"
>
> ERRO: BRT ERRO: função replace(numeric, unknown, unknown) não existe no
> caracter 287
> BRT DICA: Nenhuma função corresponde com o nome e os tipos de argumentos
> informados. Você precisa adicionar conversões de tipo explícitas.

replace (INT::text, string, string) deve resolver seu problema.
Se não for possível modificar seu sistema você terá que adicionar as
conversões no catálogo do PostgreSQL.
É melhor modificar sua aplicação: não fazer cast corretamente é
considerado má prática e por isso foi removido no PostgreSQL 8.3 e
superiores.

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a