portabilis/i-educar

SQL Naturalidade -> error | /intranet/atendidos_cad.php

Closed this issue · 4 comments

MENU:
Pessoas -> Cadastros -> Pessoa fĩsica -> ao digitar "Naturalidade"
/intranet/atendidos_cad.php

Formulário exige que digite a NATURALIDADE, porém exibe mensagem de erro na consulta SQL.

DESCRIÇÃO:
Erro ao preparar consulta ( SELECT DISTINCT sigla_uf, idmun AS id, nome AS name, LENGTH(nome) AS size FROM public.municipio WHERE TRUE AND LOWER(UNACCENT(nome)) LIKE '%' || LOWER(UNACCENT(:nome)) || '%' ORDER BY size, nome LIMIT 15) no banco de dados: Exception: SQLSTATE[42883]: Undefined function: 7 ERROR: function unaccent(character varying) does not exist LINE 10: AND LOWER(UNACCENT(nome)) LIKE '%' || LO... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. (SQL: SELECT DISTINCT sigla_uf, idmun AS id, nome AS name, LENGTH(nome) AS size FROM public.municipio WHERE TRUE AND LOWER(UNACCENT(nome)) LIKE '%' || LOWER(UNACCENT(:nome)) || '%' ORDER BY size, nome LIMIT 15)

OBSERVAÇÕES:
Estou utilizando a versão 2.6.8 clonada daqui do repositório.

AMBIENTE:

  • Plataforma utilizada (Docker, instalação direta): Docker
  • Sistema operacional e versão (Ubuntu 16.04, Windows 7): Ubuntu
  • Navegador e versão (Chrome 75): Chrome V100
  • Outros detalhes importantes

Anexei print do erro.

WhatsApp Image 2022-04-12 at 14 35 22

@albericobenhur qual a versão do postgress que você esta usando? Testei com o postgress 14 aqui e funcionou.

Bom dia,

Comigo acontece o mesmo na v13.5.

Eu descobri que o postgres quando instalado por docker em volume no disco da máquina, perde permissão ao instalar as extensões do postgres. Então você deve efetuar login no banco de dados e criar a extensão obrigatória em pesquisa de nome.

psql -U USUARIO -d BANCO -h localhost -p PORTA
create extension unaccent;

Depois da extensão unaccent devidamente habilitada, pesquisa funcionou adequadamente.
https://www.postgresql.org/docs/current/unaccent.html

Funcionou