Не сте предоставили никакви подробности за езика/средата, но все пак ще се опитам да предположа:
Подготвените оператори на MySQL използват естествено ? като заместител на параметъра, но PostgreSQL използва $1 , $2 и т.н. Опитайте да замените ? с $1 и вижте дали работи:
WHERE address = $1
Съобщенията за грешки в PostgreSQL са много загадъчни.
Като цяло открих, че съобщенията за грешки в Postgres са по-добри от конкурентните продукти (хм, MySQL и особено Oracle), но в този случай сте успели да объркате анализатора отвъд разума. :)