Váš připravený výpis přenáší full_address
do text
(vestavěný typ textu Postgres), zatímco se zdá, že vaše tabulka je vytvořena s citext
(nerozlišují se malá a velká písmena) typ textu (nebo vám chybí index na full_address::text
). Možná zkuste vytvořit index na full_address::text
a uvidíte, zda to vaše připravené prohlášení zachytí.
Další možností je použít text
zadejte full_address
a poté vytvořte funkční index na lower(full_address)
-- chutnost této možnosti závisí na vašich požadavcích.
Myslím, že část problému spočívá v tom, že JDBC nezná citext
zadejte, takže pokud nemůžete přimět JDBC k odeslání vaší adresy do databáze jako citext
typu, bude plánovačem dotazů interpretován jako text
, stejně jako vaše setString()
metoda pravděpodobně ano.
Zajímavé je, že jsem nedávno narazil na podobný problém
Zveřejnění:Pracuji pro EnterpriseDB (EDB)