Problemet ligger i $1 IS NULL
, där $1
behandlas som ett dynamiskt kolumnnamn, vilket inte är tillåtet i förberedda satser, på grund av skydden mot SQL-injektion som implementerats av databasservern.
UPPDATERA
Om du vill formatera dina frågor fritt, samtidigt utan risk för en SQL-injektion, kolla in pg-löfte . Och för att formatera namn för schema, tabell eller kolumn korrekt, se SQL-namn .