プリペアドステートメントはfull_addressをキャストします textに (Postgresの組み込みテキストタイプ)、テーブルはcitextで作成されているようですが (大文字と小文字を区別しない)テキストタイプ(または、full_address::textにインデックスがありません )。 full_address::textにインデックスを作成してみてください 準備したステートメントがそれを理解するかどうかを確認します。
別のオプションは、textを使用することです full_addressのタイプ 列をクリックし、lower(full_address)に機能インデックスを作成します -そのオプションの嗜好性は、要件によって異なります。
問題の一部は、JDBCがcitextを認識していないことだと思います。 JDBCにアドレスをcitextとしてデータベースに送信させることができない場合は、そう入力してください タイプすると、クエリプランナーによってtextとして解釈されます。 、setString()と同じように メソッドはおそらくそうします。
興味深いことに、私は最近同様の問題に遭遇しました
開示:私は EnterpriseDB(EDB) で働いています