Pesquisa de palavras com e sem acentos PostgreSQL

Olá,

estou tentando fazer uma busca através de um campo no aplicativo, ele procura a palavra no banco de dados(postgres), porem, tem muito produto cadastrado no banco, com e sem acento, por exemplo, tem café e cafe cadastrado…

procurei uma solução para ele ignorar os acentos e achei essa solução:

"function('TRANSLATE'," + part + ",'ÀÁÃãáàÉÈéèÍíÓóÒòÕõÚúÇç','AAAaaaEEeeIiOoOoOoUuCc')";

só que tem um problema, ele me resolveu o seguinte: Agora quando eu escrevo cafe(sem acento) ele me retorna tudo, até mesmo com acento, OK Mas quando eu pesquiso café(com acento) ele nao me retorna nada, nem com e nem sem acento.

Alguem tem alguma ideia?

Existem os dois lados da informaçao: o termo que alguém usou para pequisar e os dados armazenados no banco. Você precisa usar essa sua funçao nos dois lados.

Ou seja, quando alguém digitar “café” você aplica essa funçao para virar "cafe"
E na hora de buscar no banco, você traduz tudo que está lá, com sua funçao, e tudo vira “cafe”.