Você precisa remover as chaves, que são o escape JDBC para chamar um procedimento. Mas como o Postgres tem sua própria
call
comando, eles não são necessários (e colide com o escape JDBC). CallableStatement stmt = conn.prepareCall("call reducestock(?, ?)");