Sie haben keine Details zur Sprache/Umgebung angegeben, aber ich versuche es trotzdem mit einer wilden Vermutung:
Die vorbereiteten Anweisungen von MySQL verwenden nativ ? als Parameterplatzhalter, aber PostgreSQL verwendet $1 , $2 usw. Versuchen Sie, ? zu ersetzen mit $1 und sehen, ob es funktioniert:
WHERE address = $1
Die Fehlermeldungen in PostgreSQL sind sehr kryptisch.
Im Allgemeinen habe ich festgestellt, dass Postgres-Fehlermeldungen besser sind als Konkurrenzprodukte (ähm, MySQL und besonders Oracle), aber in diesem Fall haben Sie es geschafft, den Parser über den Verstand hinaus zu verwirren. :)