No ha proporcionado ningún detalle sobre el idioma o el entorno, pero intentaré adivinar de todos modos:
Las declaraciones preparadas de MySQL usan de forma nativa ?
como marcador de posición del parámetro, pero PostgreSQL usa $1
, $2
etc. Intenta reemplazar el ?
con $1
y ver si funciona:
WHERE address = $1
Los mensajes de error en PostgreSQL son muy crípticos.
En general, he descubierto que los mensajes de error de Postgres son mejores que los productos de la competencia (ejem, MySQL y especialmente Oracle), pero en este caso ha logrado confundir al analizador más allá de la cordura. :)