Nie podałeś żadnych szczegółów dotyczących języka/środowiska, ale i tak spróbuję zgadywać:
Przygotowane instrukcje MySQL natywnie używają ?
jako symbol zastępczy parametru, ale PostgreSQL używa $1
, $2
itp. Spróbuj zastąpić ?
z $1
i zobacz, czy to działa:
WHERE address = $1
Komunikaty o błędach w PostgreSQL są bardzo tajemnicze.
Ogólnie zauważyłem, że komunikaty o błędach Postgresa są lepsze niż konkurencyjne produkty (ahem, MySQL i zwłaszcza Oracle), ale w tym przypadku udało Ci się pomylić parser poza zdrowy rozsądek. :)