IT Services - Banco de Dados – Erro do Banco (42883) - "operator does not exist: character varying = integer"
Incidente
Ao acessar ou iniciar a aplicação, ocorre falha devido ao erro: Erro do Banco (42883) - operator does not exist: character varying = integer Hint: No operator matches the given name and arguments types. You might need to add explicit type casts. Position 41", impedindo que o usuário siga com a utilização do sistema.
Causa
Identificada: A causa identificada é a ausência do operador de conversão ("cast") para o tipo integer no banco de dados. Isso ocorre quando, durante a implantação do sistema Senior, o operador não foi criado corretamente ou foi perdido em algum momento.
Solução
1. Acesse o banco de dados PostgreSQL.
2. Execute os comandos abaixo para criar os operadores de conversão (casts) necessários:
CREATE CAST (integer AS text) WITH FUNCTION text(integer) AS IMPLICIT; CREATE CAST (bigint AS text) WITH FUNCTION text(bigint) AS IMPLICIT; CREATE CAST (smallint AS text) WITH FUNCTION text(smallint) AS IMPLICIT; CREATE CAST (decimal AS text) WITH FUNCTION text(decimal) AS IMPLICIT;
Exemlo:
Observação:
O erro indica ausência do cast para o tipo integer, mas é necessário criar todos os quatro operadores acima para garantir o funcionamento correto do sistema Senior.