Problém je v $1 IS NULL , kde $1 je považováno za název dynamického sloupce, který není v připravených příkazech povolen kvůli ochraně proti SQL injection implementované databázovým serverem.
AKTUALIZACE
Pokud chcete své dotazy formátovat volně a zároveň bez rizika vložení SQL, podívejte se na pg-promise . A pro správné formátování názvů pro schéma, tabulku nebo sloupec viz Názvy SQL .