Puedes intentar usar USING :
El USING opcional cláusula especifica cómo calcular el valor de la nueva columna a partir de la antigua; si se omite, la conversión predeterminada es la misma que una conversión de asignación del tipo de datos antiguo al nuevo. A USING se debe proporcionar la cláusula si no hay conversión implícita o de asignación del tipo antiguo al nuevo.
Así que esto podría funcionar (dependiendo de tus datos):
alter table presales alter column code type numeric(10,0) using code::numeric;
-- Or if you prefer standard casting...
alter table presales alter column code type numeric(10,0) using cast(code as numeric);
Esto fallará si tiene algo en code que no se puede convertir a numérico; si USING falla, tendrá que limpiar los datos no numéricos a mano antes de cambiar el tipo de columna.