Il problema è in $1 IS NULL
, dove $1
viene trattato come un nome di colonna dinamico, che non è consentito nelle istruzioni preparate, a causa delle protezioni contro SQL injection implementate dal server di database.
AGGIORNAMENTO
Se vuoi formattare le tue query liberamente, senza il rischio di un'iniezione SQL, dai un'occhiata a pg-promessa . E per formattare correttamente i nomi per schema, tabella o colonna, vedere Nomi SQL .